Hi, Another patch to adapt content to HTML5. Replaces <br /> with <br>
Alternative to patch: find . -type f -print0 | xargs -0 perl -pi -e 's/<br \/>/<br>/g' Best Regards, Johan
Index: skins/black_and_white/header.txt ================================================================== --- skins/black_and_white/header.txt +++ skins/black_and_white/header.txt @@ -9,11 +9,11 @@ </head> <body> <div class="header"> <div class="logo"> <img src="$logo_image_url" alt="logo"> - <br />$<project_name> + <br>$<project_name> </div> <div class="title">$<title></div> <div class="status"><th1> if {[info exists login]} { puts "Logged in as $login" Index: skins/original/header.txt ================================================================== --- skins/original/header.txt +++ skins/original/header.txt @@ -10,11 +10,11 @@ <body> <div class="header"> <div class="logo"> <img src="$logo_image_url" alt="logo" /> </div> - <div class="title"><small>$<project_name></small><br />$<title></div> + <div class="title"><small>$<project_name></small><br>$<title></div> <div class="status"><th1> if {[info exists login]} { puts "Logged in as $login" } else { puts "Not logged in" Index: skins/plain_gray/header.txt ================================================================== --- skins/plain_gray/header.txt +++ skins/plain_gray/header.txt @@ -7,11 +7,11 @@ <link rel="stylesheet" href="$stylesheet_url" type="text/css" media="screen"> </head> <body> <div class="header"> - <div class="title"><small>$<project_name></small><br />$<title></div> + <div class="title"><small>$<project_name></small><br>$<title></div> <div class="status"><th1> if {[info exists login]} { puts "Logged in as $login" } else { puts "Not logged in" Index: skins/rounded1/header.txt ================================================================== --- skins/rounded1/header.txt +++ skins/rounded1/header.txt @@ -9,11 +9,11 @@ </head> <body> <div class="header"> <div class="logo"> <img src="$logo_image_url" alt="logo"> - <br />$<project_name> + <br>$<project_name> </div> <div class="title">$<title></div> <div class="status"><th1> if {[info exists login]} { puts "Logged in as $login" Index: src/attach.c ================================================================== --- src/attach.c +++ src/attach.c @@ -109,15 +109,15 @@ @ <li><p> @ Attachment %z(href("%R/ainfo/%!S",zUuid))%S(zUuid)</a> if( moderation_pending(attachid) ){ @ <span class="modpending">*** Awaiting Moderator Approval ***</span> } - @ <br /><a href="%R/attachview?%s(zUrlTail)">%h(zFilename)</a> - @ [<a href="%R/attachdownload/%t(zFilename)?%s(zUrlTail)">download</a>]<br /> + @ <br><a href="%R/attachview?%s(zUrlTail)">%h(zFilename)</a> + @ [<a href="%R/attachdownload/%t(zFilename)?%s(zUrlTail)">download</a>]<br> if( zComment ) while( fossil_isspace(zComment[0]) ) zComment++; if( zComment && zComment[0] ){ - @ %!W(zComment)<br /> + @ %!W(zComment)<br> } if( zPage==0 && zTkt==0 && zTechNote==0 ){ if( zSrc==0 || zSrc[0]==0 ){ zSrc = "Deleted from"; }else { @@ -392,13 +392,13 @@ } @ <h2>Add Attachment To %s(zTargetType)</h2> form_begin("enctype='multipart/form-data'", "%R/attachadd"); @ <div> @ File to Attach: - @ <input type="file" name="f" size="60" /><br /> - @ Description:<br /> - @ <textarea name="comment" cols="80" rows="5" wrap="virtual"></textarea><br /> + @ <input type="file" name="f" size="60" /><br> + @ Description:<br> + @ <textarea name="comment" cols="80" rows="5" wrap="virtual"></textarea><br> if( zTkt ){ @ <input type="hidden" name="tkt" value="%h(zTkt)" /> }else if( zTechNote ){ @ <input type="hidden" name="technote" value="%h(zTechNote)" /> }else{ @@ -601,13 +601,13 @@ if( isModerator && modPending ){ @ <div class="section">Moderation</div> @ <blockquote> form_begin(0, "%R/ainfo/%s", zUuid); @ <label><input type="radio" name="modaction" value="delete"> - @ Delete this change</label><br /> + @ Delete this change</label><br> @ <label><input type="radio" name="modaction" value="approve"> - @ Approve this change</label><br /> + @ Approve this change</label><br> @ <input type="submit" value="Submit"> @ </form> @ </blockquote> } @@ -626,11 +626,11 @@ @ %h(z) @ </pre> } }else if( strncmp(zMime, "image/", 6)==0 ){ int sz = db_int(0, "SELECT size FROM blob WHERE rid=%d", ridSrc); - @ <i>(file is %d(sz) bytes of image data)</i><br /> + @ <i>(file is %d(sz) bytes of image data)</i><br> @ <img src="%R/raw/%s(zSrc)?m=%s(zMime)"></img> style_submenu_element("Image", "%R/raw/%s?m=%s", zSrc, zMime); }else{ int sz = db_int(0, "SELECT size FROM blob WHERE rid=%d", ridSrc); @ <i>(file is %d(sz) bytes of binary data)</i> Index: src/browse.c ================================================================== --- src/browse.c +++ src/browse.c @@ -1138,13 +1138,13 @@ while( db_step(&q2)==SQLITE_ROW ){ const char *zFUuid = db_column_text(&q2,0); const char *zFile = db_column_text(&q2,1); int fid = db_column_int(&q2,2); if( showId ){ - @ %z(href("%R/artifact/%!S",zFUuid))%h(zFile)</a> (%d(fid))<br /> + @ %z(href("%R/artifact/%!S",zFUuid))%h(zFile)</a> (%d(fid))<br> }else{ - @ %z(href("%R/artifact/%!S",zFUuid))%h(zFile)</a><br /> + @ %z(href("%R/artifact/%!S",zFUuid))%h(zFile)</a><br> } } db_reset(&q2); @ </td> @ <td> Index: src/cache.c ================================================================== --- src/cache.c +++ src/cache.c @@ -356,11 +356,11 @@ ); if( pStmt ){ @ <ol> while( sqlite3_step(pStmt)==SQLITE_ROW ){ const unsigned char *zName = sqlite3_column_text(pStmt,0); - @ <li><p>%z(href("%R/cacheget?key=%T",zName))%h(zName)</a><br /> + @ <li><p>%z(href("%R/cacheget?key=%T",zName))%h(zName)</a><br> @ size: %s(sqlite3_column_text(pStmt,1)) @ hit-count: %d(sqlite3_column_int(pStmt,2)) @ last-access: %s(sqlite3_column_text(pStmt,3))</p></li> } sqlite3_finalize(pStmt); Index: src/cgi.c ================================================================== --- src/cgi.c +++ src/cgi.c @@ -1207,11 +1207,11 @@ const char *zName = aParamQP[i].zName; if( !showAll ){ if( fossil_stricmp("HTTP_COOKIE",zName)==0 ) continue; if( fossil_strnicmp("fossil-",zName,7)==0 ) continue; } - cgi_printf("%h = %h <br />\n", zName, aParamQP[i].zValue); + cgi_printf("%h = %h <br>\n", zName, aParamQP[i].zValue); } } /* ** Export all untagged query parameters (but not cookies or environment Index: src/descendants.c ================================================================== --- src/descendants.c +++ src/descendants.c @@ -509,11 +509,11 @@ } db_prepare(&q, "%s ORDER BY event.mtime DESC", blob_sql_text(&sql)); blob_reset(&sql); www_print_timeline(&q, TIMELINE_LEAFONLY, 0, 0, 0, 0); db_finalize(&q); - @ <br /> + @ <br> style_footer(); } #if INTERFACE /* Flag parameters to compute_uses_file() */ Index: src/finfo.c ================================================================== --- src/finfo.c +++ src/finfo.c @@ -533,11 +533,11 @@ } } if( fDebug & FINFO_DEBUG_MLINK ){ int ii; char *zAncLink; - @ <br />fid=%d(frid) pid=%d(fpid) mid=%d(fmid) + @ <br>fid=%d(frid) pid=%d(fpid) mid=%d(fmid) if( nParent>0 ){ @ parents=%d(aParent[0]) for(ii=1; ii<nParent; ii++){ @ %d(aParent[ii]) } Index: src/info.c ================================================================== --- src/info.c +++ src/info.c @@ -867,13 +867,13 @@ if( g.perm.ModWiki && modPending ){ @ <div class="section">Moderation</div> @ <blockquote> @ <form method="POST" action="%R/winfo/%s(zUuid)"> @ <label><input type="radio" name="modaction" value="delete"> - @ Delete this change</label><br /> + @ Delete this change</label><br> @ <label><input type="radio" name="modaction" value="approve"> - @ Approve this change</label><br /> + @ Approve this change</label><br> @ <input type="submit" value="Submit"> @ </form> @ </blockquote> } @@ -2037,11 +2037,11 @@ @ <pre> @ %h(z) @ </pre> } }else if( strncmp(zMime, "image/", 6)==0 ){ - @ <i>(file is %d(blob_size(&content)) bytes of image data)</i><br /> + @ <i>(file is %d(blob_size(&content)) bytes of image data)</i><br> @ <img src="%R/raw/%s(zUuid)?m=%s(zMime)" /> style_submenu_element("Image", "%R/raw/%s?m=%s", zUuid, zMime); }else{ @ <i>(file is %d(blob_size(&content)) bytes of binary data)</i> } @@ -2129,11 +2129,11 @@ @ <span class="modpending">*** Awaiting Moderator Approval ***</span> } @ <tr><th>Ticket:</th> @ <td>%z(href("%R/tktview/%s",zTktName))%s(zTktName)</a> if( zTktTitle ){ - @<br />%h(zTktTitle) + @<br>%h(zTktTitle) } @</td></tr> @ <tr><th>Date:</th><td> hyperlink_to_date(zDate, "</td></tr>"); @ <tr><th>User:</th><td> @@ -2145,13 +2145,13 @@ if( g.perm.ModTkt && modPending ){ @ <div class="section">Moderation</div> @ <blockquote> @ <form method="POST" action="%R/tinfo/%s(zUuid)"> @ <label><input type="radio" name="modaction" value="delete"> - @ Delete this change</label><br /> + @ Delete this change</label><br> @ <label><input type="radio" name="modaction" value="approve"> - @ Approve this change</label><br /> + @ Approve this change</label><br> @ <input type="submit" value="Submit"> @ </form> @ </blockquote> } @@ -2763,11 +2763,11 @@ }else if( !isSpecialTag && zTagName && fossil_strcmp(&zTagName[4], zBranchName)==0){ continue; } sqlite3_snprintf(sizeof(zLabel), zLabel, "c%d", tagid); - @ <br /><label> + @ <br><label> if( P(zLabel) ){ @ <input type="checkbox" name="c%d(tagid)" checked="checked" /> }else{ @ <input type="checkbox" name="c%d(tagid)" /> } Index: src/loadctrl.c ================================================================== --- src/loadctrl.c +++ src/loadctrl.c @@ -55,12 +55,12 @@ if( mxLoad<=0.0 || mxLoad>=load_average() ) return; style_header("Server Overload"); @ <h2>The server load is currently too high. @ Please try again later.</h2> - @ <p>Current load average: %f(load_average()).<br /> + @ <p>Current load average: %f(load_average()).<br> @ Load average limit: %f(mxLoad)</p> style_footer(); cgi_set_status(503,"Server Overload"); cgi_reply(); exit(0); } Index: src/login.c ================================================================== --- src/login.c +++ src/login.c @@ -1368,11 +1368,11 @@ ** logging in as anonymous. */ void login_anonymous_available(void){ if( !g.perm.Hyperlink && g.anon.Hyperlink ){ const char *zUrl = PD("REQUEST_URI", "index"); - @ <p>Many <span class="disabled">hyperlinks are disabled.</span><br /> + @ <p>Many <span class="disabled">hyperlinks are disabled.</span><br> @ Use <a href="%R/login?anon=1&g=%T(zUrl)">anonymous login</a> @ to enable hyperlinks.</p> } } Index: src/markdown_html.c ================================================================== --- src/markdown_html.c +++ src/markdown_html.c @@ -346,11 +346,11 @@ BLOB_APPEND_LITERAL(ob, "\" />"); return 1; } static int html_line_break(struct Blob *ob, void *opaque){ - BLOB_APPEND_LITERAL(ob, "<br />\n"); + BLOB_APPEND_LITERAL(ob, "<br>\n"); return 1; } static int html_link( struct Blob *ob, Index: src/piechart.c ================================================================== --- src/piechart.c +++ src/piechart.c @@ -311,14 +311,14 @@ piechart_render(width,height, PIE_OTHER|PIE_PERCENT); @ </svg> @ <hr /> } @ <form method="POST" action='%R/test-piechart'> - @ <p>Comma-separated list of slice widths:<br /> - @ <input type='text' name='data' size='80' value='%h(zData)'/><br /> + @ <p>Comma-separated list of slice widths:<br> + @ <input type='text' name='data' size='80' value='%h(zData)'/><br> @ Width: <input type='text' size='8' name='width' value='%d(width)'/> - @ Height: <input type='text' size='8' name='height' value='%d(height)'/><br /> + @ Height: <input type='text' size='8' name='height' value='%d(height)'/><br> @ <input type='submit' value='Draw The Pie Chart'/> @ </form> @ <p>Interesting test cases: @ <ul> @ <li> <a href='test-piechart?data=44,2,2,2,2,2,3,2,2,2,2,2,44'>Case 1</a> Index: src/report.c ================================================================== --- src/report.c +++ src/report.c @@ -46,13 +46,13 @@ login_needed(g.anon.RdTkt || g.anon.NewTkt); return; } style_header("Ticket Main Menu"); ticket_standard_submenu(T_ALL_BUT(T_REPLIST)); - if( g.thTrace ) Th_Trace("BEGIN_REPORTLIST<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_REPORTLIST<br>\n", -1); zScript = ticket_reportlist_code(); - if( g.thTrace ) Th_Trace("BEGIN_REPORTLIST_SCRIPT<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_REPORTLIST_SCRIPT<br>\n", -1); blob_zero(&ril); ticket_init(); db_prepare(&q, "SELECT rn, title, owner FROM reportfmt ORDER BY title"); @@ -95,11 +95,11 @@ Th_Store("report_items", blob_str(&ril)); Th_Render(zScript); blob_reset(&ril); - if( g.thTrace ) Th_Trace("END_REPORTLIST<br />\n", -1); + if( g.thTrace ) Th_Trace("END_REPORTLIST<br>\n", -1); style_footer(); } /* @@ -461,13 +461,13 @@ if( zErr ){ @ <blockquote class="reportError">%h(zErr)</blockquote> } @ <form action="rptedit" method="post"><div> @ <input type="hidden" name="rn" value="%d(rn)" /> - @ <p>Report Title:<br /> + @ <p>Report Title:<br> @ <input type="text" name="t" value="%h(zTitle)" size="60" /></p> - @ <p>Enter a complete SQL query statement against the "TICKET" table:<br /> + @ <p>Enter a complete SQL query statement against the "TICKET" table:<br> @ <textarea name="s" rows="20" cols="80">%h(zSQL)</textarea> @ </p> login_insert_csrf_secret(); if( g.perm.Admin ){ @ <p>Report owner: @@ -477,11 +477,11 @@ @ <input type="hidden" name="w" value="%h(zOwner)" /> } @ <p>Enter an optional color key in the following box. (If blank, no @ color key is displayed.) Each line contains the text for a single @ entry in the key. The first token of each line is the background - @ color for that line.<br /> + @ color for that line.<br> @ <textarea name="k" rows="8" cols="50">%h(zClrKey)</textarea> @ </p> if( !g.perm.Admin && fossil_strcmp(zOwner,g.zLogin)!=0 ){ @ <p>This report format is owned by %h(zOwner). You are not allowed @ to change it.</p> Index: src/search.c ================================================================== --- src/search.c +++ src/search.c @@ -1002,11 +1002,11 @@ nRow++; @ <li><p><a href='%R%s(zUrl)'>%h(zLabel)</a> if( fDebug ){ @ (%e(db_column_double(&q,3)), %s(db_column_text(&q,4)) } - @ <br /><span class='snippet'>%z(cleanSnippet(zSnippet))</span></li> + @ <br><span class='snippet'>%z(cleanSnippet(zSnippet))</span></li> } db_finalize(&q); if( nRow ){ @ </ol> } Index: src/setup.c ================================================================== --- src/setup.c +++ src/setup.c @@ -635,86 +635,86 @@ #define B(x) inherit[x] @ <table border=0><tr><td valign="top"> if( g.perm.Setup ){ @ <label><input type="checkbox" name="as"%s(oa['s']) @ onchange="updateCapabilityString()"/> - @ Setup%s(B('s'))</label><br /> + @ Setup%s(B('s'))</label><br> } @ <label><input type="checkbox" name="aa"%s(oa['a']) @ onchange="updateCapabilityString()" /> - @ Admin%s(B('a'))</label><br /> + @ Admin%s(B('a'))</label><br> @ <label><input type="checkbox" name="ad"%s(oa['d']) @ onchange="updateCapabilityString()" /> - @ Delete%s(B('d'))</label><br /> + @ Delete%s(B('d'))</label><br> @ <label><input type="checkbox" name="ae"%s(oa['e']) @ onchange="updateCapabilityString()" /> - @ Email%s(B('e'))</label><br /> + @ Email%s(B('e'))</label><br> @ <label><input type="checkbox" name="ap"%s(oa['p']) @ onchange="updateCapabilityString()" /> - @ Password%s(B('p'))</label><br /> + @ Password%s(B('p'))</label><br> @ <label><input type="checkbox" name="ai"%s(oa['i']) @ onchange="updateCapabilityString()" /> - @ Check-In%s(B('i'))</label><br /> + @ Check-In%s(B('i'))</label><br> @ <label><input type="checkbox" name="ao"%s(oa['o']) @ onchange="updateCapabilityString()" /> - @ Check-Out%s(B('o'))</label><br /> + @ Check-Out%s(B('o'))</label><br> @ <label><input type="checkbox" name="ah"%s(oa['h']) @ onchange="updateCapabilityString()" /> - @ Hyperlinks%s(B('h'))</label><br /> + @ Hyperlinks%s(B('h'))</label><br> @ <label><input type="checkbox" name="ab"%s(oa['b']) @ onchange="updateCapabilityString()" /> - @ Attachments%s(B('b'))</label><br /> + @ Attachments%s(B('b'))</label><br> @ </td><td><td width="40"></td><td valign="top"> @ <label><input type="checkbox" name="au"%s(oa['u']) @ onchange="updateCapabilityString()" /> - @ Reader%s(B('u'))</label><br /> + @ Reader%s(B('u'))</label><br> @ <label><input type="checkbox" name="av"%s(oa['v']) @ onchange="updateCapabilityString()" /> - @ Developer%s(B('v'))</label><br /> + @ Developer%s(B('v'))</label><br> @ <label><input type="checkbox" name="ag"%s(oa['g']) @ onchange="updateCapabilityString()" /> - @ Clone%s(B('g'))</label><br /> + @ Clone%s(B('g'))</label><br> @ <label><input type="checkbox" name="aj"%s(oa['j']) @ onchange="updateCapabilityString()" /> - @ Read Wiki%s(B('j'))</label><br /> + @ Read Wiki%s(B('j'))</label><br> @ <label><input type="checkbox" name="af"%s(oa['f']) @ onchange="updateCapabilityString()" /> - @ New Wiki%s(B('f'))</label><br /> + @ New Wiki%s(B('f'))</label><br> @ <label><input type="checkbox" name="am"%s(oa['m']) @ onchange="updateCapabilityString()" /> - @ Append Wiki%s(B('m'))</label><br /> + @ Append Wiki%s(B('m'))</label><br> @ <label><input type="checkbox" name="ak"%s(oa['k']) @ onchange="updateCapabilityString()" /> - @ Write Wiki%s(B('k'))</label><br /> + @ Write Wiki%s(B('k'))</label><br> @ <label><input type="checkbox" name="al"%s(oa['l']) @ onchange="updateCapabilityString()" /> - @ Moderate Wiki%s(B('l'))</label><br /> + @ Moderate Wiki%s(B('l'))</label><br> @ </td><td><td width="40"></td><td valign="top"> @ <label><input type="checkbox" name="ar"%s(oa['r']) @ onchange="updateCapabilityString()" /> - @ Read Ticket%s(B('r'))</label><br /> + @ Read Ticket%s(B('r'))</label><br> @ <label><input type="checkbox" name="an"%s(oa['n']) @ onchange="updateCapabilityString()" /> - @ New Tickets%s(B('n'))</label><br /> + @ New Tickets%s(B('n'))</label><br> @ <label><input type="checkbox" name="ac"%s(oa['c']) @ onchange="updateCapabilityString()" /> - @ Append To Ticket%s(B('c'))</label><br /> + @ Append To Ticket%s(B('c'))</label><br> @ <label><input type="checkbox" name="aw"%s(oa['w']) @ onchange="updateCapabilityString()" /> - @ Write Tickets%s(B('w'))</label><br /> + @ Write Tickets%s(B('w'))</label><br> @ <label><input type="checkbox" name="aq"%s(oa['q']) @ onchange="updateCapabilityString()" /> - @ Moderate Tickets%s(B('q'))</label><br /> + @ Moderate Tickets%s(B('q'))</label><br> @ <label><input type="checkbox" name="at"%s(oa['t']) @ onchange="updateCapabilityString()" /> - @ Ticket Report%s(B('t'))</label><br /> + @ Ticket Report%s(B('t'))</label><br> @ <label><input type="checkbox" name="ax"%s(oa['x']) @ onchange="updateCapabilityString()" /> - @ Private%s(B('x'))</label><br /> + @ Private%s(B('x'))</label><br> @ <label><input type="checkbox" name="ay"%s(oa['y']) @ onchange="updateCapabilityString()" /> - @ Write Unversioned%s(B('y'))</label><br /> + @ Write Unversioned%s(B('y'))</label><br> @ <label><input type="checkbox" name="az"%s(oa['z']) @ onchange="updateCapabilityString()" /> @ Download Zip%s(B('z'))</label> @ </td></tr> @ </table> @@ -742,11 +742,11 @@ if( zGroup ){ @ <tr> @ <td valign="top" align="right">Scope:</td> @ <td valign="top"> @ <input type="radio" name="all" checked value="0"> - @ Apply changes to this repository only.<br /> + @ Apply changes to this repository only.<br> @ <input type="radio" name="all" value="1"> @ Apply changes to all repositories in the "<b>%h(zGroup)</b>" @ login group.</td></tr> } if( !higherUser ){ @@ -1188,14 +1188,14 @@ @ <p>Additional parameters that control this behavior:</p> @ <blockquote> onoff_attribute("Enable hyperlinks for humans (as deduced from the UserAgent " " HTTP header string)", "auto-hyperlink-ishuman", "ahis", 0, 0); - @ <br /> + @ <br> onoff_attribute("Require mouse movement before enabling hyperlinks", "auto-hyperlink-mouseover", "ahmo", 0, 0); - @ <br /> + @ <br> entry_attribute("Delay before enabling hyperlinks (milliseconds)", 5, "auto-hyperlink-delay", "ah-delay", "10", 0); @ </blockquote> @ <p>Hyperlinks for user "nobody" are normally enabled as soon as the page @ finishes loading. But the first check-box below can be set to require mouse @@ -1500,44 +1500,44 @@ (db_get_versioned(pSet->name, NULL)!=0); onoff_attribute(pSet->name, pSet->name, pSet->var!=0 ? pSet->var : pSet->name, is_truth(pSet->def), hasVersionableValue); if( pSet->versionable ){ - @ (v)<br /> + @ (v)<br> } else { - @ <br /> + @ <br> } } } - @ <br /><input type="submit" name="submit" value="Apply Changes" /> + @ <br><input type="submit" name="submit" value="Apply Changes" /> @ </td><td style="width:50px;"></td><td valign="top"> for(pSet=aSetting; pSet->name!=0; pSet++){ if( pSet->width!=0 && !pSet->versionable && !pSet->forceTextArea ){ entry_attribute(pSet->name, /*pSet->width*/ 25, pSet->name, pSet->var!=0 ? pSet->var : pSet->name, (char*)pSet->def, 0); - @ <br /> + @ <br> } } for(pSet=aSetting; pSet->name!=0; pSet++){ if( pSet->width!=0 && !pSet->versionable && pSet->forceTextArea ){ - @<b>%s(pSet->name)</b><br /> + @<b>%s(pSet->name)</b><br> textarea_attribute("", /*rows*/ 3, /*cols*/ 50, pSet->name, pSet->var!=0 ? pSet->var : pSet->name, (char*)pSet->def, 0); - @ <br /> + @ <br> } } @ </td><td style="width:50px;"></td><td valign="top"> for(pSet=aSetting; pSet->name!=0; pSet++){ if( pSet->width!=0 && pSet->versionable ){ int hasVersionableValue = db_get_versioned(pSet->name, NULL)!=0; - @<b>%s(pSet->name)</b> (v)<br /> + @<b>%s(pSet->name)</b> (v)<br> textarea_attribute("", /*rows*/ 3, /*cols*/ 20, pSet->name, pSet->var!=0 ? pSet->var : pSet->name, (char*)pSet->def, hasVersionableValue); - @<br /> + @<br> } } @ </td></tr></table> @ </div></form> @ <p>Settings marked with (v) are 'versionable' and will be overridden @@ -1698,22 +1698,22 @@ } style_header("Edit Ad Unit"); @ <form action="%s(g.zTop)/setup_adunit" method="post"><div> login_insert_csrf_secret(); - @ <b>Banner Ad-Unit:</b><br /> + @ <b>Banner Ad-Unit:</b><br> textarea_attribute("", 6, 80, "adunit", "adunit", "", 0); - @ <br /> - @ <b>Right-Column Ad-Unit:</b><br /> + @ <br> + @ <b>Right-Column Ad-Unit:</b><br> textarea_attribute("", 6, 80, "adunit-right", "adright", "", 0); - @ <br /> + @ <br> onoff_attribute("Omit ads to administrator", "adunit-omit-if-admin", "oia", 0, 0); - @ <br /> + @ <br> onoff_attribute("Omit ads to logged-in users", "adunit-omit-if-user", "oiu", 0, 0); - @ <br /> + @ <br> @ <input type="submit" name="submit" value="Apply Changes" /> @ <input type="submit" name="clear" value="Delete Ad-Unit" /> @ </div></form> @ <hr /> @ <b>Ad-Unit Notes:</b><ul> @@ -1935,12 +1935,12 @@ } @ </ul></p> @ @ <form method="post" action="%s(g.zTop)/admin_sql"> login_insert_csrf_secret(); - @ SQL:<br /> - @ <textarea name="q" rows="5" cols="80">%h(zQ)</textarea><br /> + @ SQL:<br> + @ <textarea name="q" rows="5" cols="80">%h(zQ)</textarea><br> @ <input type="submit" name="go" value="Run SQL"> @ <input type="submit" name="schema" value="Show Schema"> @ <input type="submit" name="tablelist" value="List Tables"> @ </form> if( P("schema") ){ @@ -2043,12 +2043,12 @@ @ run by this page. If Tcl integration was enabled at compile-time and @ the "tcl" setting is enabled, Tcl commands may be run as well.</p> @ @ <form method="post" action="%s(g.zTop)/admin_th1"> login_insert_csrf_secret(); - @ TH1:<br /> - @ <textarea name="q" rows="5" cols="80">%h(zQ)</textarea><br /> + @ TH1:<br> + @ <textarea name="q" rows="5" cols="80">%h(zQ)</textarea><br> @ <input type="submit" name="go" value="Run TH1"> @ </form> if( go ){ const char *zR; int rc; @@ -2185,15 +2185,15 @@ @ <p>When searching documents, use the versions of the files found at the @ type of the "Document Branch" branch. Recommended value: "trunk". @ Document search is disabled if blank. @ <hr /> onoff_attribute("Search Check-in Comments", "search-ci", "sc", 0, 0); - @ <br /> + @ <br> onoff_attribute("Search Documents", "search-doc", "sd", 0, 0); - @ <br /> + @ <br> onoff_attribute("Search Tickets", "search-tkt", "st", 0, 0); - @ <br /> + @ <br> onoff_attribute("Search Wiki","search-wiki", "sw", 0, 0); @ <hr /> @ <p><input type="submit" name="submit" value="Apply Changes" /></p> @ <hr /> if( P("fts0") ){ Index: src/shun.c ================================================================== --- src/shun.c +++ src/shun.c @@ -111,19 +111,19 @@ } admin_log("Unshunned %Q", p); p += strlen(p)+1; } if( allExist ){ - @ <p class="noMoreShun">Artifact(s)<br /> + @ <p class="noMoreShun">Artifact(s)<br> for( p = zUuid ; *p ; p += strlen(p)+1 ){ - @ <a href="%R/artifact/%s(p)">%s(p)</a><br /> + @ <a href="%R/artifact/%s(p)">%s(p)</a><br> } @ are no longer being shunned.</p> }else{ - @ <p class="noMoreShun">Artifact(s)<br /> + @ <p class="noMoreShun">Artifact(s)<br> for( p = zUuid ; *p ; p += strlen(p)+1 ){ - @ %s(p)<br /> + @ %s(p)<br> } @ will no longer be shunned. But they may not exist in the repository. @ It may be necessary to rebuild the repository using the @ <b>fossil rebuild</b> command-line before the artifact content @ can pulled in from other repositories.</p> @@ -149,13 +149,13 @@ db_multi_exec("DELETE FROM tagxref WHERE tagid=%d", tagid); } admin_log("Shunned %Q", p); p += strlen(p)+1; } - @ <p class="shunned">Artifact(s)<br /> + @ <p class="shunned">Artifact(s)<br> for( p = zUuid ; *p ; p += strlen(p)+1 ){ - @ <a href="%R/artifact/%s(p)">%s(p)</a><br /> + @ <a href="%R/artifact/%s(p)">%s(p)</a><br> } @ have been shunned. They will no longer be pushed. @ They will be removed from the repository the next time the repository @ is rebuilt using the <b>fossil rebuild</b> command-line</p> } @@ -253,13 +253,13 @@ while( db_step(&q)==SQLITE_ROW ){ const char *zUuid = db_column_text(&q, 0); int stillExists = db_column_int(&q, 1); cnt++; if( stillExists ){ - @ <b><a href="%R/artifact/%s(zUuid)">%s(zUuid)</a></b><br /> + @ <b><a href="%R/artifact/%s(zUuid)">%s(zUuid)</a></b><br> }else{ - @ <b>%s(zUuid)</b><br /> + @ <b>%s(zUuid)</b><br> } } if( cnt==0 ){ @ <i>no artifacts are shunned on this server</i> } @@ -476,11 +476,11 @@ @ <tr><th valign="top" align="right">Artifacts:</th> @ <td valign="top"> } cnt++; @ <a href="%R/info/%s(zUuid)">%s(zUuid)</a> - @ %h(zDesc) (size: %d(size))<br /> + @ %h(zDesc) (size: %d(size))<br> } if( cnt>0 ){ @ <p> if( db_exists( "SELECT 1 FROM blob WHERE rcvid=%d AND" @@ -526,13 +526,13 @@ @ <tr><th valign="top" align="right">Unversioned Files:</th> @ <td valign="top"> } cnt++; if( isDeleted ){ - @ %h(zName) (deleted)<br /> + @ %h(zName) (deleted)<br> }else{ - @ <a href="%R/uv/%h(zName)">%h(zName)</a> (size: %d(size))<br /> + @ <a href="%R/uv/%h(zName)">%h(zName)</a> (size: %d(size))<br> } } if( cnt>0 ){ @ <p><form action='%R/rcvfrom'> @ <input type="hidden" name="rcvid" value='%d(rcvid)'> Index: src/skins.c ================================================================== --- src/skins.c +++ src/skins.c @@ -628,11 +628,11 @@ login_insert_csrf_secret(); @ <input type='hidden' name='w' value='%d(ii)'> @ <h2>Edit %s(aSkinAttr[ii].zTitle):</h2> zContent = textarea_attribute("", 10, 80, aSkinAttr[ii].zFile, aSkinAttr[ii].zFile, builtin_text(zDflt), 0); - @ <br /> + @ <br> @ <input type="submit" name="submit" value="Apply Changes" /> @ <hr /> @ Baseline: <select size='1' name='basis'> for(j=0; j<count(aBuiltinSkin); j++){ cgi_printf("<option value='%h'%s>%h</option>\n", Index: src/statrep.c ================================================================== --- src/statrep.c +++ src/statrep.c @@ -311,12 +311,12 @@ } @ </tbody></table> if(nEventTotal){ const char *zAvgLabel = includeMonth ? "month" : "year"; int nAvg = iterations ? (nEventTotal/iterations) : 0; - @ <br /><div>Total events: %d(nEventTotal) - @ <br />Average per active %s(zAvgLabel): %d(nAvg) + @ <br><div>Total events: %d(nEventTotal) + @ <br>Average per active %s(zAvgLabel): %d(nAvg) @ </div> } if( !includeMonth ){ output_table_sorting_javascript("statsTable","tnx",-1); } @@ -571,11 +571,11 @@ " WHERE b>0+(SELECT substr(date(min(mtime)),1,4) FROM event)" ") SELECT b, b FROM a ORDER BY b DESC"); if( zYear==0 || strlen(zYear)!=4 ){ zYear = db_text("1970","SELECT substr(date('now'),1,4);"); } - cgi_printf("<br />"); + cgi_printf("<br>"); db_prepare(&q, "SELECT DISTINCT strftime('%%W',mtime) AS wk, " " count(*) AS n " " FROM v_reports " " WHERE %Q=substr(date(mtime),1,4) " @@ -633,11 +633,11 @@ } db_finalize(&q); cgi_printf("</tbody></table>"); if(total){ int nAvg = iterations ? (total/iterations) : 0; - cgi_printf("<br /><div>Total events: %d<br />" + cgi_printf("<br><div>Total events: %d<br>" "Average per active week: %d</div>", total, nAvg); } output_table_sorting_javascript("statsTable","tnx",-1); } Index: src/style.c ================================================================== --- src/style.c +++ src/style.c @@ -408,11 +408,11 @@ cgi_destination(CGI_HEADER); @ <!DOCTYPE html> - if( g.thTrace ) Th_Trace("BEGIN_HEADER<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_HEADER<br>\n", -1); /* Generate the header up through the main menu */ Th_Store("project_name", db_get("project-name","Unnamed Fossil Project")); Th_Store("project_description", db_get("project-description","")); Th_Store("title", zTitle); @@ -431,13 +431,13 @@ image_url_var("logo"); image_url_var("background"); if( !login_is_nobody() ){ Th_Store("login", g.zLogin); } - if( g.thTrace ) Th_Trace("BEGIN_HEADER_SCRIPT<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_HEADER_SCRIPT<br>\n", -1); Th_Render(zHeader); - if( g.thTrace ) Th_Trace("END_HEADER<br />\n", -1); + if( g.thTrace ) Th_Trace("END_HEADER<br>\n", -1); Th_Unstore("title"); /* Avoid collisions with ticket field names */ cgi_destination(CGI_BODY); g.cgiOutput = 1; headerHasBeenGenerated = 1; sideboxUsed = 0; @@ -641,13 +641,13 @@ /* Set the href= field on hyperlinks. Do this before the footer since ** the footer will be generating </html> */ style_resolve_href(); zFooter = skin_get("footer"); - if( g.thTrace ) Th_Trace("BEGIN_FOOTER<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_FOOTER<br>\n", -1); Th_Render(zFooter); - if( g.thTrace ) Th_Trace("END_FOOTER<br />\n", -1); + if( g.thTrace ) Th_Trace("END_FOOTER<br>\n", -1); /* Render trace log if TH1 tracing is enabled. */ if( g.thTrace ){ cgi_append_content("<span class=\"thTrace\"><hr />\n", -1); cgi_append_content(blob_str(&g.thLog), blob_size(&g.thLog)); @@ -1594,34 +1594,34 @@ showAll = PB("showall"); style_submenu_checkbox("showall", "Cookies", 0); style_submenu_element("Stats", "%R/stat"); #if !defined(_WIN32) - @ uid=%d(getuid()), gid=%d(getgid())<br /> + @ uid=%d(getuid()), gid=%d(getgid())<br> #endif - @ g.zBaseURL = %h(g.zBaseURL)<br /> - @ g.zHttpsURL = %h(g.zHttpsURL)<br /> - @ g.zTop = %h(g.zTop)<br /> - @ g.zPath = %h(g.zPath)<br /> + @ g.zBaseURL = %h(g.zBaseURL)<br> + @ g.zHttpsURL = %h(g.zHttpsURL)<br> + @ g.zTop = %h(g.zTop)<br> + @ g.zPath = %h(g.zPath)<br> for(i=0, c='a'; c<='z'; c++){ if( login_has_capability(&c, 1, 0) ) zCap[i++] = c; } zCap[i] = 0; - @ g.userUid = %d(g.userUid)<br /> - @ g.zLogin = %h(g.zLogin)<br /> - @ g.isHuman = %d(g.isHuman)<br /> - @ capabilities = %s(zCap)<br /> + @ g.userUid = %d(g.userUid)<br> + @ g.zLogin = %h(g.zLogin)<br> + @ g.isHuman = %d(g.isHuman)<br> + @ capabilities = %s(zCap)<br> for(i=0, c='a'; c<='z'; c++){ if( login_has_capability(&c, 1, LOGIN_ANON) && !login_has_capability(&c, 1, 0) ) zCap[i++] = c; } zCap[i] = 0; if( i>0 ){ - @ anonymous-adds = %s(zCap)<br /> + @ anonymous-adds = %s(zCap)<br> } - @ g.zRepositoryName = %h(g.zRepositoryName)<br /> - @ load_average() = %f(load_average())<br /> + @ g.zRepositoryName = %h(g.zRepositoryName)<br> + @ load_average() = %f(load_average())<br> @ <hr /> P("HTTP_USER_AGENT"); cgi_print_all(showAll); if( showAll && blob_size(&g.httpHeader)>0 ){ @ <hr /> Index: src/tag.c ================================================================== --- src/tag.c +++ src/tag.c @@ -706,8 +706,8 @@ " ORDER BY event.mtime DESC", timeline_query_for_www() ); www_print_timeline(&q, 0, 0, 0, 0, 0); db_finalize(&q); - @ <br /> + @ <br> style_footer(); } Index: src/tar.c ================================================================== --- src/tar.c +++ src/tar.c @@ -727,17 +727,17 @@ if( zExclude ) blob_appendf(&cacheKey, ",ex=%Q", zExclude); zKey = blob_str(&cacheKey); if( P("debug")!=0 ){ style_header("Tarball Generator Debug Screen"); - @ zName = "%h(zName)"<br /> - @ rid = %d(rid)<br /> + @ zName = "%h(zName)"<br> + @ rid = %d(rid)<br> if( zInclude ){ - @ zInclude = "%h(zInclude)"<br /> + @ zInclude = "%h(zInclude)"<br> } if( zExclude ){ - @ zExclude = "%h(zExclude)"<br /> + @ zExclude = "%h(zExclude)"<br> } @ zKey = "%h(zKey)" style_footer(); return; } Index: src/th_main.c ================================================================== --- src/th_main.c +++ src/th_main.c @@ -283,11 +283,11 @@ if( argc<2 || argc>3 ){ return Th_WrongNumArgs(interp, "enable_output [LABEL] BOOLEAN"); } rc = Th_ToInt(interp, argv[argc-1], argl[argc-1], &enableOutput); if( g.thTrace ){ - Th_Trace("enable_output {%.*s} -> %d<br />\n", argl[1],argv[1],enableOutput); + Th_Trace("enable_output {%.*s} -> %d<br>\n", argl[1],argv[1],enableOutput); } return rc; } /* @@ -664,11 +664,11 @@ Th_ListAppend(interp, &zCapList, &nCapList, argv[i], argl[i]); } rc = login_has_capability((char*)argv[i],argl[i],*(int*)p); } if( g.thTrace ){ - Th_Trace("[%s %#h] => %d<br />\n", argv[0], nCapList, zCapList, rc); + Th_Trace("[%s %#h] => %d<br>\n", argv[0], nCapList, zCapList, rc); Th_Free(interp, zCapList); } Th_SetResultInt(interp, rc); return TH_OK; } @@ -724,11 +724,11 @@ } } if( !match ) rc = 0; } if( g.thTrace ){ - Th_Trace("[searchable %#h] => %d<br />\n", argl[1], argv[1], rc); + Th_Trace("[searchable %#h] => %d<br>\n", argl[1], argv[1], rc); } Th_SetResultInt(interp, rc); return TH_OK; } @@ -839,11 +839,11 @@ #endif else if( 0 == fossil_strnicmp( zArg, "markdown\0", 9 ) ){ rc = 1; } if( g.thTrace ){ - Th_Trace("[hasfeature %#h] => %d<br />\n", argl[1], zArg, rc); + Th_Trace("[hasfeature %#h] => %d<br>\n", argl[1], zArg, rc); } Th_SetResultInt(interp, rc); return TH_OK; } @@ -870,11 +870,11 @@ if( g.tcl.interp ){ rc = 1; } #endif if( g.thTrace ){ - Th_Trace("[tclReady] => %d<br />\n", rc); + Th_Trace("[tclReady] => %d<br>\n", rc); } Th_SetResultInt(interp, rc); return TH_OK; } @@ -899,11 +899,11 @@ } for(i=0; rc==0 && i<argl[1]; i++){ rc = login_has_capability((char*)&argv[1][i],1,0); } if( g.thTrace ){ - Th_Trace("[anycap %#h] => %d<br />\n", argl[1], argv[1], rc); + Th_Trace("[anycap %#h] => %d<br>\n", argl[1], argv[1], rc); } Th_SetResultInt(interp, rc); return TH_OK; } @@ -1675,11 +1675,11 @@ }else{ Th_SetResult(interp, 0, 0); rc = TH_OK; } if( g.thTrace ){ - Th_Trace("[setting %s%#h] => %d<br />\n", strict ? "strict " : "", + Th_Trace("[setting %s%#h] => %d<br>\n", strict ? "strict " : "", argl[nArg], argv[nArg], rc); } return rc; } @@ -1990,11 +1990,11 @@ {"verifyCsrf", verifyCsrfCmd, 0}, {"wiki", wikiCmd, (void*)&aFlags[0]}, {0, 0, 0} }; if( g.thTrace ){ - Th_Trace("th1-init 0x%x => 0x%x<br />\n", g.th1Flags, flags); + Th_Trace("th1-init 0x%x => 0x%x<br>\n", g.th1Flags, flags); } if( needConfig ){ /* ** This function uses several settings which may be defined in the ** repository and/or the global configuration. Since the caller @@ -2042,11 +2042,11 @@ char *zResult = (char*)Th_GetResult(g.interp, &nResult); sendError(zResult, nResult, 0); } } if( g.thTrace ){ - Th_Trace("th1-setup {%h} => %h<br />\n", g.th1Setup, + Th_Trace("th1-setup {%h} => %h<br>\n", g.th1Setup, Th_ReturnCodeName(rc, 0)); } } g.th1Flags &= ~TH_INIT_MASK; g.th1Flags |= (flags & TH_INIT_MASK); @@ -2057,11 +2057,11 @@ */ void Th_Store(const char *zName, const char *zValue){ Th_FossilInit(TH_INIT_DEFAULT); if( zValue ){ if( g.thTrace ){ - Th_Trace("set %h {%h}<br />\n", zName, zValue); + Th_Trace("set %h {%h}<br>\n", zName, zValue); } Th_SetVar(g.interp, zName, -1, zValue, strlen(zValue)); } } @@ -2100,11 +2100,11 @@ int i; for(i=0; i<nList; i++){ Th_ListAppend(g.interp, &zValue, &nValue, pzList[i], -1); } if( g.thTrace ){ - Th_Trace("set %h {%h}<br />\n", zName, zValue); + Th_Trace("set %h {%h}<br>\n", zName, zValue); } Th_SetVar(g.interp, zName, -1, zValue, nValue); Th_Free(g.interp, zValue); } } @@ -2118,11 +2118,11 @@ Th_FossilInit(TH_INIT_DEFAULT); blob_zero(&value); blob_appendf(&value, "%d", iValue); zValue = blob_str(&value); if( g.thTrace ){ - Th_Trace("set %h {%h}<br />\n", zName, zValue); + Th_Trace("set %h {%h}<br>\n", zName, zValue); } Th_SetVar(g.interp, zName, -1, zValue, strlen(zValue)); blob_reset(&value); } @@ -2266,11 +2266,11 @@ ** do not want to skip executing essential commands unless the called command ** (i.e. "command_hook") explicitly forbids this by successfully returning ** TH_BREAK or TH_CONTINUE. */ if( g.thTrace ){ - Th_Trace("[command_hook {%h}] => %h<br />\n", zName, + Th_Trace("[command_hook {%h}] => %h<br>\n", zName, Th_ReturnCodeName(rc, 0)); } /* ** Does our call to Th_FossilInit() result in opening a database? If so, ** clean it up now. This is very important because some commands do not @@ -2298,11 +2298,11 @@ Th_Store("cmd_name", zName); Th_StoreList("cmd_args", g.argv, g.argc); Th_StoreInt("cmd_flags", cmdFlags); rc = Th_Eval(g.interp, 0, "command_notify", -1); if( g.thTrace ){ - Th_Trace("[command_notify {%h}] => %h<br />\n", zName, + Th_Trace("[command_notify {%h}] => %h<br>\n", zName, Th_ReturnCodeName(rc, 0)); } /* ** Does our call to Th_FossilInit() result in opening a database? If so, ** clean it up now. This is very important because some commands do not @@ -2353,11 +2353,11 @@ ** do not want to skip processing essential web pages unless the called ** command (i.e. "webpage_hook") explicitly forbids this by successfully ** returning TH_BREAK or TH_CONTINUE. */ if( g.thTrace ){ - Th_Trace("[webpage_hook {%h}] => %h<br />\n", zName, + Th_Trace("[webpage_hook {%h}] => %h<br>\n", zName, Th_ReturnCodeName(rc, 0)); } /* ** Does our call to Th_FossilInit() result in opening a database? If so, ** clean it up now. This is very important because some commands do not @@ -2385,11 +2385,11 @@ Th_Store("web_name", zName); Th_StoreList("web_args", g.argv, g.argc); Th_StoreInt("web_flags", cmdFlags); rc = Th_Eval(g.interp, 0, "webpage_notify", -1); if( g.thTrace ){ - Th_Trace("[webpage_notify {%h}] => %h<br />\n", zName, + Th_Trace("[webpage_notify {%h}] => %h<br>\n", zName, Th_ReturnCodeName(rc, 0)); } /* ** Does our call to Th_FossilInit() result in opening a database? If so, ** clean it up now. This is very important because some commands do not @@ -2455,11 +2455,11 @@ }else if( z[i]=='<' && isBeginScriptTag(&z[i]) ){ sendText(z, i, 0); z += i+5; for(i=0; z[i] && (z[i]!='<' || !isEndScriptTag(&z[i])); i++){} if( g.thTrace ){ - Th_Trace("eval {<pre>%#h</pre>}<br />", i, z); + Th_Trace("eval {<pre>%#h</pre>}<br>", i, z); } rc = Th_Eval(g.interp, 0, (const char*)z, i); if( rc!=TH_OK ) break; z += i; if( z[0] ){ z += 6; } Index: src/timeline.c ================================================================== --- src/timeline.c +++ src/timeline.c @@ -195,11 +195,11 @@ @ <p>Enter candidate branch names below and see them displayed in their @ default background colors above.</p> for(i=0; i<10; i++){ sqlite3_snprintf(sizeof(zNm),zNm,"b%d",i); zBr = P(zNm); - @ <input type="text" size="30" name='%s(zNm)' value='%h(PD(zNm,""))'><br /> + @ <input type="text" size="30" name='%s(zNm)' value='%h(PD(zNm,""))'><br> } @ <input type="submit"> @ </form> style_footer(); } @@ -2031,19 +2031,19 @@ tmFlags |= TIMELINE_DISJOINT; } addFileGlobDescription(zChng, &desc); if( rAfter>0.0 ){ if( rBefore>0.0 ){ - blob_appendf(&desc, " occurring between %h and %h.<br />", + blob_appendf(&desc, " occurring between %h and %h.<br>", zAfter, zBefore); }else{ - blob_appendf(&desc, " occurring on or after %h.<br />", zAfter); + blob_appendf(&desc, " occurring on or after %h.<br>", zAfter); } }else if( rBefore>0.0 ){ - blob_appendf(&desc, " occurring on or before %h.<br />", zBefore); + blob_appendf(&desc, " occurring on or before %h.<br>", zBefore); }else if( rCirca>0.0 ){ - blob_appendf(&desc, " occurring around %h.<br />", zCirca); + blob_appendf(&desc, " occurring around %h.<br>", zCirca); } if( zSearch ){ blob_appendf(&desc, " matching \"%h\"", zSearch); } if( g.perm.Hyperlink ){ Index: src/tkt.c ================================================================== --- src/tkt.c +++ src/tkt.c @@ -476,20 +476,20 @@ style_submenu_element("Formatted", "%R/tktview/%s", zUuid); }else{ style_submenu_element("Plaintext", "%R/tktview/%s?plaintext", zUuid); } style_header("View Ticket"); - if( g.thTrace ) Th_Trace("BEGIN_TKTVIEW<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_TKTVIEW<br>\n", -1); ticket_init(); initializeVariablesFromCGI(); getAllTicketFields(); initializeVariablesFromDb(); zScript = ticket_viewpage_code(); if( P("showfields")!=0 ) showAllFields(); - if( g.thTrace ) Th_Trace("BEGIN_TKTVIEW_SCRIPT<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_TKTVIEW_SCRIPT<br>\n", -1); Th_Render(zScript); - if( g.thTrace ) Th_Trace("END_TKTVIEW<br />\n", -1); + if( g.thTrace ) Th_Trace("END_TKTVIEW<br>\n", -1); zFullName = db_text(0, "SELECT tkt_uuid FROM ticket" " WHERE tkt_uuid GLOB '%q*'", zUuid); if( zFullName ){ @@ -518,11 +518,11 @@ if( argc!=3 ){ return Th_WrongNumArgs(interp, "append_field FIELD STRING"); } if( g.thTrace ){ - Th_Trace("append_field %#h {%#h}<br />\n", + Th_Trace("append_field %#h {%#h}<br>\n", argl[1], argv[1], argl[2], argv[2]); } for(idx=0; idx<nField; idx++){ if( memcmp(aField[idx].zName, argv[1], argl[1])==0 && aField[idx].zName[argl[1]]==0 ){ @@ -661,11 +661,11 @@ @ <hr /> return TH_OK; }else{ if( g.thTrace ){ Th_Trace("submit_ticket {\n<blockquote><pre>\n%h\n</pre></blockquote>\n" - "}<br />\n", + "}<br>\n", blob_str(&tktchng)); } ticket_put(&tktchng, zUuid, needMod); } return ticket_change(zUuid); @@ -693,11 +693,11 @@ if( P("cancel") ){ cgi_redirect("home"); } style_header("New Ticket"); ticket_standard_submenu(T_ALL_BUT(T_NEW)); - if( g.thTrace ) Th_Trace("BEGIN_TKTNEW<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_TKTNEW<br>\n", -1); ticket_init(); initializeVariablesFromCGI(); getAllTicketFields(); initializeVariablesFromDb(); if( g.zPath[0]=='d' ) showAllFields(); @@ -709,18 +709,18 @@ zScript = ticket_newpage_code(); Th_Store("login", login_name()); Th_Store("date", db_text(0, "SELECT datetime('now')")); Th_CreateCommand(g.interp, "submit_ticket", submitTicketCmd, (void*)&zNewUuid, 0); - if( g.thTrace ) Th_Trace("BEGIN_TKTNEW_SCRIPT<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_TKTNEW_SCRIPT<br>\n", -1); if( Th_Render(zScript)==TH_RETURN && !g.thTrace && zNewUuid ){ cgi_redirect(mprintf("%s/tktview/%s", g.zTop, zNewUuid)); return; } captcha_generate(0); @ </form> - if( g.thTrace ) Th_Trace("END_TKTVIEW<br />\n", -1); + if( g.thTrace ) Th_Trace("END_TKTVIEW<br>\n", -1); style_footer(); } /* ** WEBPAGE: tktedit @@ -766,11 +766,11 @@ @ <span class="tktError">%d(nRec) tickets begin with: @ "%h(zName)"</span> style_footer(); return; } - if( g.thTrace ) Th_Trace("BEGIN_TKTEDIT<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_TKTEDIT<br>\n", -1); ticket_init(); getAllTicketFields(); initializeVariablesFromCGI(); initializeVariablesFromDb(); if( g.zPath[0]=='d' ) showAllFields(); @@ -780,18 +780,18 @@ zScript = ticket_editpage_code(); Th_Store("login", login_name()); Th_Store("date", db_text(0, "SELECT datetime('now')")); Th_CreateCommand(g.interp, "append_field", appendRemarkCmd, 0, 0); Th_CreateCommand(g.interp, "submit_ticket", submitTicketCmd, (void*)&zName,0); - if( g.thTrace ) Th_Trace("BEGIN_TKTEDIT_SCRIPT<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_TKTEDIT_SCRIPT<br>\n", -1); if( Th_Render(zScript)==TH_RETURN && !g.thTrace && zName ){ cgi_redirect(mprintf("%s/tktview/%s", g.zTop, zName)); return; } captcha_generate(0); @ </form> - if( g.thTrace ) Th_Trace("BEGIN_TKTEDIT<br />\n", -1); + if( g.thTrace ) Th_Trace("BEGIN_TKTEDIT<br>\n", -1); style_footer(); } /* ** Check the ticket table schema in zSchema to see if it appears to Index: src/tktsetup.c ================================================================== --- src/tktsetup.c +++ src/tktsetup.c @@ -318,11 +318,11 @@ @ </th1> @ <h1 style="text-align: center;">Enter A New Ticket</h1> @ <table cellpadding="5"> @ <tr> @ <td colspan="3"> -@ Enter a one-line summary of the ticket:<br /> +@ Enter a one-line summary of the ticket:<br> @ <input type="text" name="title" size="60" value="$<title>" /> @ </td> @ </tr> @ @ <tr> @@ -362,19 +362,19 @@ @ Enter a detailed description of the problem. @ For code defects, be sure to provide details on exactly how @ the problem can be reproduced. Provide as much detail as @ possible. Format: @ <th1>combobox mutype {Wiki HTML {Plain Text} {[links only]}} 1</th1> -@ <br /> +@ <br> @ <th1>set nline [linecount $comment 50 10]</th1> @ <textarea name="icomment" cols="80" rows="$nline" -@ wrap="virtual" class="wikiedit">$<icomment></textarea><br /> +@ wrap="virtual" class="wikiedit">$<icomment></textarea><br> @ </tr> @ @ <th1>enable_output [info exists preview]</th1> @ <tr><td colspan="3"> -@ Description Preview:<br /><hr /> +@ Description Preview:<br><hr /> @ <th1> @ if {$mutype eq "Wiki"} { @ wiki $icomment @ } elseif {$mutype eq "Plain Text"} { @ set r [randhex] @@ -644,18 +644,18 @@ @ @ <tr><td colspan="2"> @ Append Remark with format @ <th1>combobox mutype {Wiki HTML {Plain Text} {[links only]}} 1</th1> @ from -@ <input type="text" name="username" value="$<username>" size="30" />:<br /> +@ <input type="text" name="username" value="$<username>" size="30" />:<br> @ <textarea name="icomment" cols="80" rows="15" @ wrap="virtual" class="wikiedit">$<icomment></textarea> @ </td></tr> @ @ <th1>enable_output [info exists preview]</th1> @ <tr><td colspan="2"> -@ Description Preview:<br /><hr /> +@ Description Preview:<br><hr /> @ <th1> @ if {$mutype eq "Wiki"} { @ wiki $icomment @ } elseif {$mutype eq "Plain Text"} { @ set r [randhex] Index: src/wiki.c ================================================================== --- src/wiki.c +++ src/wiki.c @@ -579,13 +579,13 @@ if( !isWysiwyg ){ /* Traditional markup-only editing */ form_begin(0, "%R/wikiedit"); @ <div>Markup style: mimetype_option_menu(zMimetype); - @ <br /><textarea name="w" class="wikiedit" cols="80" + @ <br><textarea name="w" class="wikiedit" cols="80" @ rows="%d(n)" wrap="virtual">%h(zBody)</textarea> - @ <br /> + @ <br> if( db_get_boolean("wysiwyg-wiki", 0) ){ @ <input type="submit" name="edit-wysiwyg" value="Wysiwyg Editor" @ onclick='return confirm("Switching to WYSIWYG-mode\nwill erase your markup\nedits. Continue?")' /> } @ <input type="submit" name="preview" value="Preview Your Changes" /> @@ -600,11 +600,11 @@ blob_zero(&html); htmlTidy(blob_str(&temp), &html); blob_reset(&temp); wysiwygEditor("w", blob_str(&html), 60, n); blob_reset(&html); - @ <br /> + @ <br> @ <input type="submit" name="edit-markup" value="Markup Editor" @ onclick='return confirm("Switching to markup-mode\nwill erase your WYSIWYG\nedits. Continue?")' /> } login_insert_csrf_secret(); @ <input type="submit" name="submit" value="Apply These Changes" /> @@ -649,14 +649,14 @@ wiki_standard_submenu(W_ALL_BUT(W_NEW)); @ <p>Rules for wiki page names:</p> well_formed_wiki_name_rules(); form_begin(0, "%R/wikinew"); @ <p>Name of new wiki page: - @ <input style="width: 35;" type="text" name="name" value="%h(zName)" /><br /> + @ <input style="width: 35;" type="text" name="name" value="%h(zName)" /><br> @ Markup style: mimetype_option_menu("text/x-fossil-wiki"); - @ <br /><input type="submit" value="Create" /> + @ <br><input type="submit" value="Create" /> @ </p></form> if( zName[0] ){ @ <p><span class="wikiError"> @ "%h(zName)" is not a valid wiki page name!</span></p> } @@ -681,11 +681,11 @@ blob_appendf(p, "\n\n<hr /><div id=\"%s\"><i>On %s UTC %h", zId, zDate, login_name()); if( zUser[0] && fossil_strcmp(zUser,login_name()) ){ blob_appendf(p, " (claiming to be %h)", zUser); } - blob_appendf(p, " added:</i><br />\n%s</div id=\"%s\">", zRemark, zId); + blob_appendf(p, " added:</i><br>\n%s</div id=\"%s\">", zRemark, zId); }else if( fossil_strcmp(zMimetype, "text/x-markdown")==0 ){ blob_appendf(p, "\n\n------\n*On %s UTC %h", zDate, login_name()); if( zUser[0] && fossil_strcmp(zUser,login_name()) ){ blob_appendf(p, " (claiming to be %h)", zUser); } @@ -808,16 +808,16 @@ form_begin(0, "%R/wikiappend"); login_insert_csrf_secret(); @ <input type="hidden" name="name" value="%h(zPageName)" /> @ <input type="hidden" name="mimetype" value="%h(zMimetype)" /> @ Your Name: - @ <input type="text" name="u" size="20" value="%h(zUser)" /><br /> + @ <input type="text" name="u" size="20" value="%h(zUser)" /><br> zFormat = mimetype_common_name(zMimetype); - @ Comment to append (formatted as %s(zFormat)):<br /> + @ Comment to append (formatted as %s(zFormat)):<br> @ <textarea name="r" class="wikiedit" cols="80" @ rows="10" wrap="virtual">%h(PD("r",""))</textarea> - @ <br /> + @ <br> @ <input type="submit" name="preview" value="Preview Your Comment" /> @ <input type="submit" name="submit" value="Append Your Changes" /> @ <input type="submit" name="cancel" value="Cancel" /> captcha_generate(0); @ </form> Index: src/xfersetup.c ================================================================== --- src/xfersetup.c +++ src/xfersetup.c @@ -61,11 +61,11 @@ zButton = "Synchronize"; zWarning = mprintf("WARNING: Pushing to \"%s\" is enabled.", g.url.canonical); } @ <p>Press the <strong>%h(zButton)</strong> button below to - @ synchronize with the <em>%h(g.url.canonical)</em> repository now.<br /> + @ synchronize with the <em>%h(g.url.canonical)</em> repository now.<br> @ This may be useful when testing the various transfer scripts.</p> @ <p>You can use the <code>http -async</code> command in your scripts, but @ make sure the <code>th1-uri-regexp</code> setting is set first.</p> if( zWarning ){ @ Index: src/zip.c ================================================================== --- src/zip.c +++ src/zip.c @@ -583,17 +583,17 @@ if( zExclude ) blob_appendf(&cacheKey, ",ex=%Q", zExclude); zKey = blob_str(&cacheKey); if( P("debug")!=0 ){ style_header("ZIP Archive Generator Debug Screen"); - @ zName = "%h(zName)"<br /> - @ rid = %d(rid)<br /> + @ zName = "%h(zName)"<br> + @ rid = %d(rid)<br> if( zInclude ){ - @ zInclude = "%h(zInclude)"<br /> + @ zInclude = "%h(zInclude)"<br> } if( zExclude ){ - @ zExclude = "%h(zExclude)"<br /> + @ zExclude = "%h(zExclude)"<br> } @ zKey = "%h(zKey)" style_footer(); return; } Index: test/fileStat.th1 ================================================================== --- test/fileStat.th1 +++ test/fileStat.th1 @@ -94,9 +94,9 @@ set checkIn [getLatestTrunkCheckIn] set totalFiles [theSumOfAllFiles $checkIn] </th1> -<br /> +<br> As of trunk check-in <th1>decorate \[$checkIn\]</th1>, this repository contains <th1>html $totalFiles</th1> files. -<br /> +<br> Index: test/th1.test ================================================================== --- test/th1.test +++ test/th1.test @@ -720,18 +720,18 @@ fossil test-th-eval --th-trace "trace {}" if {$th1Hooks} { test th1-trace-2 {[normalize_result] eq \ {------------------ BEGIN TRACE LOG ------------------ -th1-init 0x0 => 0x0<br /> +th1-init 0x0 => 0x0<br> ------------------- END TRACE LOG -------------------}} } else { test th1-trace-2 {[normalize_result] eq \ {------------------ BEGIN TRACE LOG ------------------ -th1-init 0x0 => 0x0<br /> -th1-setup {} => TH_OK<br /> +th1-init 0x0 => 0x0<br> +th1-setup {} => TH_OK<br> ------------------- END TRACE LOG -------------------}} } ############################################################################### @@ -743,18 +743,18 @@ fossil test-th-eval --th-trace "trace {this is a trace message.}" if {$th1Hooks} { test th1-trace-4 {[normalize_result] eq \ {------------------ BEGIN TRACE LOG ------------------ -th1-init 0x0 => 0x0<br /> +th1-init 0x0 => 0x0<br> this is a trace message. ------------------- END TRACE LOG -------------------}} } else { test th1-trace-4 {[normalize_result] eq \ {------------------ BEGIN TRACE LOG ------------------ -th1-init 0x0 => 0x0<br /> -th1-setup {} => TH_OK<br /> +th1-init 0x0 => 0x0<br> +th1-setup {} => TH_OK<br> this is a trace message. ------------------- END TRACE LOG -------------------}} } ############################################################################### Index: www/fileformat.wiki ================================================================== --- www/fileformat.wiki +++ www/fileformat.wiki @@ -265,11 +265,11 @@ underlying project code. Allowed cards in the cluster are as follows: <blockquote> -<b>M</b> <i>artifact-id</i><br /> +<b>M</b> <i>artifact-id</i><br> <b>Z</b> <i>checksum</i> </blockquote> A cluster contains one or more "M" cards followed by a single "Z" card. Each M card has a single argument which is the artifact ID of @@ -287,14 +287,14 @@ Control artifacts are used to assign properties to other artifacts within the repository. Allowed cards in a control artifact are as follows: <blockquote> -<b>D</b> <i>time-and-date-stamp</i><br /> -<b>T</b> (<b>+</b>|<b>-</b>|<b>*</b>)<i>tag-name</i> <i>artifact-id</i> ?<i>value</i>?<br /> -<b>U</b> <i>user-name</i><br /> -<b>Z</b> <i>checksum</i><br /> +<b>D</b> <i>time-and-date-stamp</i><br> +<b>T</b> (<b>+</b>|<b>-</b>|<b>*</b>)<i>tag-name</i> <i>artifact-id</i> ?<i>value</i>?<br> +<b>U</b> <i>user-name</i><br> +<b>Z</b> <i>checksum</i><br> </blockquote> A control artifact must have one D card, one U card, one Z card and one or more T cards. No other cards or other text is allowed in a control artifact. Control artifacts might be PGP @@ -342,16 +342,16 @@ single wiki page. Wiki artifacts accept the following card types: <blockquote> -<b>D</b> <i>time-and-date-stamp</i><br /> -<b>L</b> <i>wiki-title</i><br /> -<b>N</b> <i>mimetype</i><br /> -<b>P</b> <i>parent-artifact-id</i>+<br /> -<b>U</b> <i>user-name</i><br /> -<b>W</b> <i>size</i> <b>\n</b> <i>text</i> <b>\n</b><br /> +<b>D</b> <i>time-and-date-stamp</i><br> +<b>L</b> <i>wiki-title</i><br> +<b>N</b> <i>mimetype</i><br> +<b>P</b> <i>parent-artifact-id</i>+<br> +<b>U</b> <i>user-name</i><br> +<b>W</b> <i>size</i> <b>\n</b> <i>text</i> <b>\n</b><br> <b>Z</b> <i>checksum</i> </blockquote> The D card is the date and time when the wiki page was edited. The P card specifies the parent wiki pages, if any. The L card @@ -376,14 +376,14 @@ A ticket-change artifact represents a change to a trouble ticket. The following cards are allowed on a ticket change artifact: <blockquote> -<b>D</b> <i>time-and-date-stamp</i><br /> -<b>J</b> ?<b>+</b>?<i>name</i> ?<i>value</i>?<br /> -<b>K</b> <i>ticket-id</i><br /> -<b>U</b> <i>user-name</i><br /> +<b>D</b> <i>time-and-date-stamp</i><br> +<b>J</b> ?<b>+</b>?<i>name</i> ?<i>value</i>?<br> +<b>K</b> <i>ticket-id</i><br> +<b>U</b> <i>user-name</i><br> <b>Z</b> <i>checksum</i> </blockquote> The D card is the usual date and time stamp and represents the point in time when the change was entered. The U card is the login of the @@ -425,15 +425,15 @@ technical note to which the attachment is connected (the target artifact). The following cards are allowed on an attachment artifact: <blockquote> -<b>A</b> <i>filename target</i> ?<i>source</i>?<br /> -<b>C</b> <i>comment</i><br /> -<b>D</b> <i>time-and-date-stamp</i><br /> -<b>N</b> <i>mimetype</i><br /> -<b>U</b> <i>user-name</i><br /> +<b>A</b> <i>filename target</i> ?<i>source</i>?<br> +<b>C</b> <i>comment</i><br> +<b>D</b> <i>time-and-date-stamp</i><br> +<b>N</b> <i>mimetype</i><br> +<b>U</b> <i>user-name</i><br> <b>Z</b> <i>checksum</i> </blockquote> The A card specifies a filename for the attachment in its first argument. The second argument to the A card is the name of the wiki page or @@ -469,17 +469,17 @@ checkpoints, or news articles. The following cards are allowed on an technote artifact: <blockquote> <b>C</b> <i>comment</i><br> -<b>D</b> <i>time-and-date-stamp</i><br /> -<b>E</b> <i>technote-time</i> <i>technote-id</i><br /> -<b>N</b> <i>mimetype</i><br /> -<b>P</b> <i>parent-artifact-id</i>+<br /> -<b>T</b> <b>+</b><i>tag-name</i> <b>*</b> ?<i>value</i>?<br /> -<b>U</b> <i>user-name</i><br /> -<b>W</b> <i>size</i> <b>\n</b> <i>text</i> <b>\n</b><br /> +<b>D</b> <i>time-and-date-stamp</i><br> +<b>E</b> <i>technote-time</i> <i>technote-id</i><br> +<b>N</b> <i>mimetype</i><br> +<b>P</b> <i>parent-artifact-id</i>+<br> +<b>T</b> <b>+</b><i>tag-name</i> <b>*</b> ?<i>value</i>?<br> +<b>U</b> <i>user-name</i><br> +<b>W</b> <i>size</i> <b>\n</b> <i>text</i> <b>\n</b><br> <b>Z</b> <i>checksum</i> </blockquote> The C card contains text that is displayed on the timeline for the technote. The C card is optional, but there can only be one.
_______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users