diff --git a/harbour/ChangeLog b/harbour/ChangeLog
index 8b832b80fc..bd5f073b47 100644
--- a/harbour/ChangeLog
+++ b/harbour/ChangeLog
@@ -17,6 +17,24 @@
past entries belonging to author(s): Viktor Szakats.
*/
+2010-03-07 14:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
+ * contrib/xhb/tframe.prg
+ ! Using IS*() macros instead of NIL checks.
+ % Using IS*() macros instead ValType() calls.
+ % Several minor optimizations.
+ * Changed to use standard class declaration syntax.
+
+ * contrib/xhb/tframe.prg
+ * contrib/hbide/ideharbourhelp.prg
+ * contrib/hbide/idehome.prg
+ ! Fixed to generate lowercase HTML code. This is basic requirement
+ for HTML to validate with any newer than legacy HTML standard (f.e. XHTML).
+ Should be fixed in other places in Harbour.
+
+ * contrib/xhb/tframe.prg
+ * contrib/xhb/cgi.ch
+ * Formatting.
+
2010-03-07 14:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* doc/Makefile
! Fixed 'en-EN' - 'en'.
diff --git a/harbour/contrib/hbide/ideharbourhelp.prg b/harbour/contrib/hbide/ideharbourhelp.prg
index 7f8cd40e3c..e0016cdca7 100644
--- a/harbour/contrib/hbide/ideharbourhelp.prg
+++ b/harbour/contrib/hbide/ideharbourhelp.prg
@@ -935,16 +935,16 @@ METHOD IdeHarbourHelp:updateViewer( aHtm )
METHOD IdeHarbourHelp:populateRootInfo()
LOCAL aHtm := {}
- aadd( aHtm, "" )
- aadd( aHtm, '
' )
- aadd( aHtm, ' ' + "Welcome" + '
' )
- aadd( aHtm, '
' + ' ' + '' )
- aadd( aHtm, ' ' + ::cPathInstall + '
' )
- aadd( aHtm, '
' )
- aadd( aHtm, '
' )
- aadd( aHtm, '
' )
- aadd( aHtm, " " )
- aadd( aHtm, "" )
+ aadd( aHtm, "" )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' + "Welcome" + '
' )
+ aadd( aHtm, '
' + ' ' + '' )
+ aadd( aHtm, ' ' + ::cPathInstall + '
' )
+ aadd( aHtm, '
' )
+ aadd( aHtm, '
' )
+ aadd( aHtm, '
' )
+ aadd( aHtm, " " )
+ aadd( aHtm, "" )
::updateViewer( aHtm )
@@ -955,11 +955,11 @@ METHOD IdeHarbourHelp:populateRootInfo()
METHOD IdeHarbourHelp:populatePathInfo( cPath )
LOCAL aHtm := {}
- aadd( aHtm, "" )
- aadd( aHtm, " " )
- aadd( aHtm, ' ' + cPath + '
' )
- aadd( aHtm, " " )
- aadd( aHtm, "" )
+ aadd( aHtm, "" )
+ aadd( aHtm, " " )
+ aadd( aHtm, ' ' + cPath + '
' )
+ aadd( aHtm, " " )
+ aadd( aHtm, "" )
::updateViewer( aHtm )
@@ -973,24 +973,24 @@ METHOD IdeHarbourHelp:populateTextFile( cTextFile )
/* Build HTML */
aHtm := {}
- aadd( aHtm, "" )
- aadd( aHtm, " " )
- aadd( aHtm, ' ' + cTextFile + '
' )
- aadd( aHtm, '
' + '
' )
+ aadd( aHtm, "" )
+ aadd( aHtm, " " )
+ aadd( aHtm, ' ' + cTextFile + '
' )
+ aadd( aHtm, '
' + '
' )
IF nParsed > 0
aFn := ::aFuncByFile[ nParsed, 2 ]
IF len( aFn ) > 0
FOR EACH oFunc IN aFn
IF hb_isObject( oFunc )
- aadd( aHtm, '
' + oFunc:cName + '' )
+ aadd( aHtm, '
' + oFunc:cName + '' )
ENDIF
NEXT
ELSE
- aadd( aHtm, '
' + hb_memoread( cTextFile ) + '
' )
+ aadd( aHtm, '
' + hb_memoread( cTextFile ) + '
' )
ENDIF
ENDIF
- aadd( aHtm, " " )
- aadd( aHtm, "" )
+ aadd( aHtm, " " )
+ aadd( aHtm, "" )
::updateViewer( aHtm )
@@ -1035,7 +1035,7 @@ METHOD IdeHarbourHelp:buildView( oFunc )
LOCAL s, x, y, v, w, z, n, s1, a_, cTxt
LOCAL aHtm := {}
- aadd( aHtm, "" )
+ aadd( aHtm, "" )
aadd( aHtm, ' ' )
aadd( aHtm, ' ' )
@@ -1070,10 +1070,10 @@ METHOD IdeHarbourHelp:buildView( oFunc )
aadd( aHtm, ' ' )
aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
+ aadd( ahtm, ' ' )
+ aadd( ahtm, ' ' )
- s := ' '
aadd( aHtm, s )
- aadd( aHtm, '' + oFunc:cName + '' )
- //aadd( aHtm, '
' + oFunc:cOneLiner + '' )
- aadd( aHtm, '
' + oFunc:cOneLiner + '' )
+ aadd( aHtm, '' + oFunc:cName + '' )
+ //aadd( aHtm, '
' + oFunc:cOneLiner + '' )
+ aadd( aHtm, '
' + oFunc:cOneLiner + '' )
cTxt := " "
IF !empty( oFunc:cCategory )
- cTxt += "Category: " + oFunc:cCategory + " "
+ cTxt += "Category: " + oFunc:cCategory + " "
ENDIF
IF !empty( oFunc:cSubCategory )
- cTxt += "Sub: " + oFunc:cSubCategory + " "
+ cTxt += "Sub: " + oFunc:cSubCategory + " "
ENDIF
IF !empty( oFunc:cVersion )
- cTxt += "Version: " + oFunc:cVersion + " "
+ cTxt += "Version: " + oFunc:cVersion + " "
ENDIF
IF !empty( cTxt )
- aadd( aHtm, "
" + "[" + cTxt + "]" + "" )
+ aadd( aHtm, "
" + "[" + cTxt + "]" + "" )
ENDIF
IF !empty( s1 := oFunc:cExternalLink )
- aadd( aHtm, '
' + "" + s1 + "" + "" )
+ aadd( aHtm, '
' + "" + s1 + "" + "" )
ENDIF
- aadd( aHtm, '
' )
+ aadd( aHtm, '
' )
- x := '| ' ; y := " |
"
- v := '' ; w := " |
"
- z := "| |
"
+ x := '| ' ; y := " |
"
+ v := '' ; w := " |
"
+ z := "| |
"
IF !empty( oFunc:cInherits )
aadd( aHtm, x + "Inherits" + y )
@@ -1164,7 +1164,7 @@ METHOD IdeHarbourHelp:buildView( oFunc )
a_:= hb_atokens( oFunc:cSeaAlso, "," )
IF !empty( a_ )
aadd( aHtm, x + "SeeAlso" + y )
- aadd( aHtm, "| " )
+ aadd( aHtm, " |
| " )
FOR EACH s IN a_
s := alltrim( s )
@@ -1176,7 +1176,7 @@ METHOD IdeHarbourHelp:buildView( oFunc )
aadd( aHtm, '' + s + "" + ;
iif( s:__enumIndex() == len( a_ ), "", ", " ) )
NEXT
- aadd( aHtm, " |
" )
+ aadd( aHtm, "" )
aadd( aHtm, z )
ENDIF
IF !empty( oFunc:cPlatforms )
@@ -1190,10 +1190,10 @@ METHOD IdeHarbourHelp:buildView( oFunc )
aadd( aHtm, z )
ENDIF
- aadd( aHtm, "
" )
- aadd( aHtm, " " )
- aadd( aHtm, " " )
- aadd( aHtm, "" )
+ aadd( aHtm, " " )
+ aadd( aHtm, " " )
+ aadd( aHtm, " " )
+ aadd( aHtm, "" )
::updateViewer( aHtm )
@@ -1239,4 +1239,3 @@ METHOD IdeHarbourHelp:paintRequested( pPrinter )
RETURN Self
/*----------------------------------------------------------------------*/
-
diff --git a/harbour/contrib/hbide/idehome.prg b/harbour/contrib/hbide/idehome.prg
index 64adfb5e20..0353e7e002 100644
--- a/harbour/contrib/hbide/idehome.prg
+++ b/harbour/contrib/hbide/idehome.prg
@@ -294,30 +294,30 @@ METHOD IdeHome:buildWelcomeTab()
METHOD IdeHome:refresh()
LOCAL aHtm := {}
- aadd( aHtm, '' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' + ' ' + ' ' + ' ' )
- aadd( aHtm, ' Projects' )
+ aadd( aHtm, '' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' + ' ' + ' ' + ' ' )
+ aadd( aHtm, ' Projects' )
aadd( aHtm, ' ' + ' ' + ' ' )
- aadd( aHtm, ' ' + '( ' + ::oIde:cProjIni + ' )' + '' )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' | Title | ' )
- aadd( aHtm, ' Type | ' )
- aadd( aHtm, ' Sources | ' )
- aadd( aHtm, ' Last Modified | ' )
- aadd( aHtm, ' Location | ' )
- AADD( aHtm, ' ' )
+ aadd( aHtm, ' ' + '( ' + ::oIde:cProjIni + ' )' + '' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' | Title | ' )
+ aadd( aHtm, ' Type | ' )
+ aadd( aHtm, ' Sources | ' )
+ aadd( aHtm, ' Last Modified | ' )
+ aadd( aHtm, ' Location | ' )
+ AADD( aHtm, ' ' )
//
::addProjectsInfo( @aHtm )
//
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
- aadd( aHtm, '' )
+ aadd( aHtm, ' |
' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, '' )
//
::qWelcomeBrowser:clear()
//
@@ -331,11 +331,11 @@ METHOD IdeHome:addProjectsInfo( aHtm )
LOCAL a_, prp_, src_, dir_, cIcon
IF empty( ::aProjects )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' | ' )
+ aadd( aHtm, ' |
' )
+ aadd( aHtm, ' | ' )
aadd( aHtm, ' ' + 'None' )
- aadd( aHtm, ' | ' )
- aadd( aHtm, '
' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, '
' )
ELSE
FOR EACH a_ IN ::aProjects
prp_ := a_[ 3, PRJ_PRP_PROPERTIES, 1 ]
@@ -343,24 +343,24 @@ METHOD IdeHome:addProjectsInfo( aHtm )
dir_ := directory( a_[ 1 ] )
cIcon := hbide_imageForProjectType( prp_[ PRJ_PRP_TYPE ] )
- aadd( aHtm, '
' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
aadd( aHtm, ' ' + hbide_htmlImgAnchor( 'prj-' + prp_[ PRJ_PRP_TITLE ], 'resources/' + cIcon + '.png' ) + ' ' )
aadd( aHtm, ' ' + hbide_htmlAnchor( 'prj-' + prp_[ PRJ_PRP_TITLE ], prp_[ PRJ_PRP_TITLE ], a_[ 1 ] ) )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' )
aadd( aHtm, ' ' + left( prp_[ PRJ_PRP_TYPE ], 3 ) )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' )
aadd( aHtm, ' ' + hb_ntos( len( src_ ) ) )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' )
aadd( aHtm, ' ' + dtoc( dir_[ 1,3 ] ) + " " + dir_[ 1,4 ] )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' )
aadd( aHtm, ' ' + hbide_pathNormalized( a_[ 1 ] ) )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, '
' )
NEXT
ENDIF
RETURN Self
@@ -402,28 +402,28 @@ METHOD IdeHome:buildSourcesInfo( cProjectTitle, aSrcInfo )
LOCAL aHtm := {}, aSrc
LOCAL cIcon := hbide_imageForProjectType( ::oPM:getProjectTypeFromTitle( cProjectTitle ) )
- aadd( aHtm, '' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' + ' ' + ' ' + ' ' )
- aadd( aHtm, ' ' + cProjectTitle + '' )
- aadd( aHtm, ' | ' )
+ aadd( aHtm, '' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' + ' ' + ' ' + ' ' )
+ aadd( aHtm, ' ' + cProjectTitle + '' )
+ aadd( aHtm, ' | ' )
aadd( aHtm, '
' )
aadd( aHtm, ' | Source | ' )
aadd( aHtm, ' Type | ' )
aadd( aHtm, ' Size | ' )
aadd( aHtm, ' Last Modified | ' )
aadd( aHtm, ' Location | ' )
- AADD( aHtm, '
' )
+ AADD( aHtm, ' ' )
//
FOR EACH aSrc IN aSrcInfo
::formatSourceInfo( @aHtm, aSrc )
NEXT
//
- aadd( aHtm, '
' )
- aadd( aHtm, ' ' )
- aadd( aHtm, '' )
+ aadd( aHtm, '
' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, '' )
//
::qWelcomeBrowser:clear()
//
@@ -435,24 +435,24 @@ METHOD IdeHome:buildSourcesInfo( cProjectTitle, aSrcInfo )
METHOD IdeHome:formatSourceInfo( aHtm, aSrc )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
aadd( aHtm, ' ' + hbide_htmlImgAnchor( 'fle-' + aSrc[ 1 ], 'resources/' + aSrc[ 5 ] + '.png' ) + ' ' )
aadd( aHtm, ' ' + hbide_htmlAnchor( 'fle-' + aSrc[ 1 ], aSrc[ 3 ], aSrc[ 1 ] ) )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' )
aadd( aHtm, ' ' + aSrc[ 4 ] )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' )
aadd( aHtm, ' ' + hb_ntos( aSrc[ 6 ] ) )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' )
aadd( aHtm, ' ' + dtoc( aSrc[ 7 ] ) + " " + aSrc[ 8 ] )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' )
aadd( aHtm, ' ' + aSrc[ 2 ] )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, '
' )
RETURN Self
@@ -483,21 +483,21 @@ METHOD IdeHome:buildFaqTab()
aFaq := hbide_getFaqs() ; a_:= aFaq[ 1 ]; b_:= aFaq[ 2 ]
aHtm := {}
- aadd( aHtm, '' )
- aadd( aHtm, ' ' )
- aadd( aHtm, ' ' )
+ aadd( aHtm, '' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, ' ' )
FOR EACH s IN a_
- aadd( aHtm, ' |
' )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' + s + '' )
- aadd( aHtm, ' |
' )
- aadd( aHtm, ' | ' )
- aadd( aHtm, ' ' + b_[ s:__enumIndex() ] + '' )
- aadd( aHtm, ' |
' )
+ aadd( aHtm, ' |
' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' + s + '' )
+ aadd( aHtm, ' |
' )
+ aadd( aHtm, ' | ' )
+ aadd( aHtm, ' ' + b_[ s:__enumIndex() ] + '' )
+ aadd( aHtm, ' |
' )
NEXT
- aadd( aHtm, '
' )
- aadd( aHtm, ' ' )
- aadd( aHtm, '' )
+ aadd( aHtm, '
' )
+ aadd( aHtm, ' ' )
+ aadd( aHtm, '' )
//
::qFaqBrowser:clear()
//
@@ -525,4 +525,3 @@ STATIC FUNCTION hbide_getFaqs()
RETURN { a_, b_ }
/*----------------------------------------------------------------------*/
-
diff --git a/harbour/contrib/xhb/cgi.ch b/harbour/contrib/xhb/cgi.ch
index 0e3fe35712..6d27373ea4 100644
--- a/harbour/contrib/xhb/cgi.ch
+++ b/harbour/contrib/xhb/cgi.ch
@@ -43,10 +43,10 @@
*
*/
-#xTranslate DEFAULT( , ) => := IIF(
== NIL, , )
-#xTranslate HTMLSpace( ) => replicate( " ", ) //" "
+#xTranslate DEFAULT( , ) => := iif(
== NIL, , )
+#xTranslate HTMLSpace( ) => Replicate( " ", ) //" "
#xTranslate NTRIM() => hb_ntos( )
-#xTranslate CRLF() => chr(13)+chr(10)
+#xTranslate CRLF() => Chr( 13 ) + Chr( 10 )
#define STD_IN 0
#define STD_OUT 1
@@ -76,7 +76,7 @@
"A:hover {text-decoration:none;color:white;background:black;} "+;
" -->"
-#define _HTML_SPACE chr(38)+"nbsp;"
+#define _HTML_SPACE Chr( 38 ) + "nbsp;"
#define CLR_LIGHT_YELLOW "#fffffc0"
#define CLR_DARK_YELLOW "#fffffcc"
diff --git a/harbour/contrib/xhb/tframe.prg b/harbour/contrib/xhb/tframe.prg
index 6b56e95192..acd81908d2 100644
--- a/harbour/contrib/xhb/tframe.prg
+++ b/harbour/contrib/xhb/tframe.prg
@@ -49,13 +49,13 @@
#include "cgi.ch"
-CLASS THtmlFrameSet
+CREATE CLASS THtmlFrameSet
- DATA nH
- DATA FName
- Data cStr INIT ""
+ VAR nH
+ VAR FName
+ VAR cStr INIT ""
- DATA TITLE INIT "FrameSet01"
+ VAR TITLE INIT "FrameSet01"
METHOD New( cFName, cTitle )
@@ -73,39 +73,38 @@ ENDCLASS
METHOD New( cFName, cTitle ) CLASS THtmlFrameSet
- LOCAL cStr := ""
+ LOCAL cStr
DEFAULT cTitle TO ""
::FName := cFName
::Title := cTitle
- IF ::FName == NIL
- cStr += "Content-Type: text/html" + CRLF() + CRLF()
- // cStr := ""
- ::nH := STD_OUT
- ELSE
+ IF ISCHARACTER( ::FName )
cStr := ""
- ::nH := Fcreate( ::FName )
+ ::nH := FCreate( ::FName )
+ ELSE
+ cStr := "Content-Type: text/html" + CRLF() + CRLF()
+ ::nH := STD_OUT
ENDIF
- cStr += "" + CRLF() + ;
- " " + CRLF() + ;
- " " + ::Title + "" + CRLF() + ;
- " " + CRLF()
+ cStr += "" + CRLF() + ;
+ " " + CRLF() + ;
+ " " + ::Title + "" + CRLF() + ;
+ " " + CRLF()
- ::cStr += cStr
+ ::cStr += cStr
-RETURN Self
+ RETURN Self
METHOD StartSet( aRows, aCols, onLoad, onUnload ) CLASS THtmlFrameSet
- LOCAL cStr := ""
+ LOCAL cStr
LOCAL cItem
- cStr += CRLF() + " " + CRLF()
+ ::cStr += " " + CRLF()
-RETURN Self
+ RETURN Self
METHOD END () CLASS THtmlFrameSet
- ::cStr += "" + CRLF()
+ ::cStr += "" + CRLF()
+
FWrite( ::nH, ::cStr )
IF ::FName != NIL
- Fclose( ::nH )
+ FClose( ::nH )
ENDIF
-RETURN Self
+ RETURN Self
METHOD Frame( cName, cURL, lBorder, lResize, lScrolling, ;
@@ -178,52 +178,50 @@ METHOD Frame( cName, cURL, lBorder, lResize, lScrolling, ;
DEFAULT cScrolling TO "AUTO"
DEFAULT cTarget TO "_self"
- cStr := " " + CRLF()
- ::cStr += cStr
+ ::cStr += cStr
RETURN Self