debian/0000700000000000000000000000000012050035524007150 5ustar debian/watch0000600000000000000000000000001212037754046010210 0ustar version=3 debian/changelog0000600000000000000000000000062712050035445011033 0ustar tk-html3 (3.0~fossil20110109-2) unstable; urgency=low * Configure shared libs for hurd-i386 and kfreeBSD-*. Closes: #692301 * Copyright fixes. Closes: #693006 -- Ole Streicher Mon, 05 Nov 2012 11:39:11 +0100 tk-html3 (3.0~fossil20110109-1) unstable; urgency=low * Initial release. (Closes: #659344) -- Ole Streicher Fri, 02 Mar 2012 18:45:00 +0100 debian/hv3.desktop0000600000000000000000000000024712037754046011264 0ustar [Desktop Entry] Version=1.0 Name=Hv3 Web Browser GenericName=Web Browser Comment=Browse the World Wide Web Type=Application Exec=hv3 %U Categories=Network;WebBrowser; debian/tk-html3.install0000600000000000000000000000005712037754046012223 0ustar usr/lib/tcltk/Tkhtml3.0/* usr/share/man/man3/* debian/clean0000600000000000000000000000013412037754046010171 0ustar cssprop.c cssprop.h htmldefaultstyle.c htmltokens.c htmltokens.h hv3-0.1.tm tkhtml.n *.3tcl debian/compat0000600000000000000000000000000212037754046010364 0ustar 8 debian/hv3.install0000600000000000000000000000016312037754046011256 0ustar hv/[a-r]*.tcl /usr/share/hv3 hv/hv3 usr/bin hv/hv3.1 usr/share/man/man1 debian/hv3.desktop /usr/share/applications debian/patches/0000700000000000000000000000000012045713453010607 5ustar debian/patches/hv3_binary.patch0000600000000000000000000000205512037754046013704 0ustar Author: Ole Streicher $stridx_b} { foreach {stridx_a stridx_b} [list $stridx_b $stridx_a] {} } if {$O(myMode) eq "word"} { debian/patches/updated_bookmarks.patch0000600000000000000000000000131412037754046015333 0ustar Author: Ole Streicher Description: Updated bookmarks: freshmeat->freecode; CVSTrac->fossil --- a/hv/hv3_bookmarks.tcl +++ b/hv/hv3_bookmarks.tcl @@ -155,8 +155,8 @@ pressing enter. "INSTRUCTIONS" http://tkhtml.tcl.tk 1 "Hv3/Tkhtml3 Home page" http://tkhtml.tcl.tk 0 "Hv3/Tkhtml3 Mailing List" http://groups.google.com/group/tkhtml3 0 - "Hv3/Tkhtml3 CVSTrac" http://tkhtml.tcl.tk/cvstrac/timeline 0 - "Hv3 @ freshmeat.net" http://freshmeat.net/hv3 0 + "Hv3/Tkhtml3 Repository" http://tkhtml.tcl.tk/fossil 0 + "Hv3 @ Freecode" http://freecode.com/projects/hv3 0 } { if {$C} { set zSnapshot " debian/patches/dont_ignore_bgcolor.patch0000600000000000000000000000141112037754046015651 0ustar Origin: http://groups.google.com/group/tkhtml3/browse_thread/thread/74ccb54074bec7d5 Description: Fix the problem that tkhtml seems to ignore 'background-color' on tbody-tags. --- a/src/htmlprop.c +++ b/src/htmlprop.c @@ -2045,6 +2045,12 @@ HtmlComputedValuesInit(pTree, pNode, pParent, p) memcpy(&p->fontKey, pValues->fFont->pKey, sizeof(HtmlFontKey)); pValues->mask = (pValues->mask & iCopyMask) | (pParentValues->mask & !iCopyMask); + /* inherit background from parent */ + p->values.cBackgroundColor->nRef++; + decrementColorRef(pTree, p->values.cBackgroundColor ); + + p->values.cBackgroundColor = + ((HtmlElementNode *)pParent)->pPropertyValues->cBackgroundColor; } p->values.cColor->nRef++; debian/patches/ds9_patches.diff0000600000000000000000000002030612037754046013656 0ustar Origin: http://hea-www.harvard.edu/saord/download/ds9/source/ds9.6.2.tar.gz Description: These are source code patches on an old version of TkHtml (around the year 2000)- Some of them may be still useful... diff -urw tkHTML/src/htmllayout.c tkHTML_ds9//src/htmllayout.c --- tkHTML/src/htmllayout.c 2000-11-26 15:13:18.000000000 +0100 +++ tkHTML_ds9//src/htmllayout.c 2012-03-02 10:48:54.000000000 +0100 @@ -690,19 +709,21 @@ case CLEAR_Both: ClearObstacle(pLC,CLEAR_Left); ClearObstacle(pLC,CLEAR_Right); break; case CLEAR_Left: while( pLC->leftMargin && pLC->leftMargin->bottom>=0 ){ - if( newBottom < pLC->leftMargin->bottom ){ newBottom = pLC->leftMargin->bottom; - } HtmlPopOneMargin(&pLC->leftMargin); } if( newBottom > pLC->bottom + pLC->headRoom ){ pLC->headRoom = 0; }else{ pLC->headRoom = newBottom - pLC->bottom; } pLC->bottom = newBottom; PopExpiredMargins(&pLC->rightMargin, pLC->bottom); @@ -710,15 +731,16 @@ case CLEAR_Right: while( pLC->rightMargin && pLC->rightMargin->bottom>=0 ){ - if( newBottom < pLC->rightMargin->bottom ){ newBottom = pLC->rightMargin->bottom; - } HtmlPopOneMargin(&pLC->rightMargin); } if( newBottom > pLC->bottom + pLC->headRoom ){ pLC->headRoom = 0; }else{ pLC->headRoom = newBottom - pLC->bottom; } pLC->bottom = newBottom; PopExpiredMargins(&pLC->leftMargin, pLC->bottom); @@ -729,25 +751,27 @@ if( pLC->rightMargin && pLC->rightMargin->bottom < pLC->leftMargin->bottom ){ - if( newBottom < pLC->rightMargin->bottom ){ newBottom = pLC->rightMargin->bottom; - } HtmlPopOneMargin(&pLC->rightMargin); }else{ - if( newBottom < pLC->leftMargin->bottom ){ newBottom = pLC->leftMargin->bottom; - } HtmlPopOneMargin(&pLC->leftMargin); } }else if( pLC->rightMargin && pLC->rightMargin->bottom>=0 ){ newBottom = pLC->rightMargin->bottom; HtmlPopOneMargin(&pLC->rightMargin); }else{ } if( newBottom > pLC->bottom + pLC->headRoom ){ pLC->headRoom = 0; }else{ pLC->headRoom = newBottom - pLC->bottom; } pLC->bottom = newBottom; break; diff -urw tkHTML/src/htmlparse.c tkHTML_ds9//src/htmlparse.c --- tkHTML/src/htmlparse.c 2000-11-26 15:13:18.000000000 +0100 +++ tkHTML_ds9//src/htmlparse.c 2012-03-02 10:48:54.000000000 +0100 @@ -586,7 +591,6 @@ break; } } - if( z[i]==0 ) goto incomplete; if( p->pScript ){ pScript->nScript = i - n; } diff -urw tkHTML/src/htmltable.c tkHTML_ds9//src/htmltable.c --- tkHTML/src/htmltable.c 2000-11-26 15:13:18.000000000 +0100 +++ tkHTML_ds9//src/htmltable.c 2012-03-02 10:48:54.000000000 +0100 @@ -162,39 +163,19 @@ z = HtmlMarkupArg(pStart, "hspace", 0); hspace = z ? atoi(z) : DFLT_HSPACE; - /* Figure out the maximum space available available */ - z = HtmlMarkupArg(pStart, "width", 0); - if( z ){ - int len = strlen(z); - if( len>0 && z[len-1]=='%' ){ - maxTableWidth = (atoi(z) * lineWidth)/100; - }else{ - maxTableWidth = atoi(z); - } - }else{ - maxTableWidth = lineWidth; - } - maxTableWidth -= 2*margin; - SETMAX( maxTableWidth, 1); - TRACE(HtmlTrace_Table1, - ("lineWidth=%d maxTableWidth = %d margin=%d\n", - lineWidth, maxTableWidth, margin)); - - for(p=pStart->pNext; p; p=pNext){ - if( p->base.type==Html_EndTABLE){ - p->ref.pOther = pStart; - break; - } + for(p=pStart->pNext; p && p->base.type!=Html_EndTABLE; p=pNext){ pNext = p->pNext; switch( p->base.type ){ case Html_EndTD: case Html_EndTH: case Html_EndTABLE: p->ref.pOther = pStart; break; case Html_EndTR: p->ref.pOther = pStart; inRow = 0; break; case Html_TR: p->ref.pOther = pStart; @@ -202,12 +183,14 @@ pStart->table.nRow++; iCol = 0; inRow = 1; - availWidth = maxTableWidth; + maxTableWidth = availWidth = lineWidth - 2*margin; break; case Html_CAPTION: while( p && p->base.type!=Html_EndTABLE && p->base.type!=Html_EndCAPTION ){ p = p->pNext; } break; case Html_TD: @@ -257,12 +240,13 @@ pNext = MinMax(htmlPtr, p, &minW, &maxW, availWidth); p->cell.pEnd = pNext; if( (z = HtmlMarkupArg(p, "width", 0))!=0 ){ - for(i=0; isdigit(z[i]) || z[i]=='.'; i++){} + for(i=0; isdigit(z[i]); i++){} if( strcmp(z,"*")==0 ){ requestedW = availWidth; }else if( z[i]==0 ){ requestedW = atoi(z); }else if( z[i]=='%' ){ requestedW = (atoi(z)*maxTableWidth + 99)/100; } }else{ @@ -287,14 +271,15 @@ min = pStart->table.minW[iCol] + separation; }else{ int n = p->cell.colspan; - int per = maxW/n; - int ix; SETMAX( ColMin(iCol,iCol+n-1), minW); SETMAX( ColReq(iCol,iCol+n-1), requestedW); min = minW + separation; - for(ix=iCol; ixtable.maxW[ix], per); +#if 0 + maxW = (maxW + (n - 1)*(1-separation))/n; + for(i=iCol; itable.maxW[i], maxW ); } +#endif } availWidth -= min; } @@ -475,11 +460,8 @@ }else{ totalWidth = atoi(z); } - SETMAX( totalWidth, pStart->table.minW[0] ); - requestedW = totalWidth; - SETMAX( pStart->table.maxW[0], totalWidth ); + SETMAX( requestedW, totalWidth ); } - SETMAX( maxTableWidth, pStart->table.minW[0] ); if( lineWidth && (requestedW > lineWidth) ){ TRACE(HtmlTrace_Table5,("RequestedW reduced to lineWidth: %d -> %d\n", requestedW, lineWidth)); @@ -768,7 +756,6 @@ char *z; /* A string */ int leftMargin; /* The left edge of space available for drawing */ int lineWidth; /* Total horizontal space available for drawing */ - int specWidth; /* Total horizontal drawing width per width= attr */ int separation; /* Distance between content of columns (or rows) */ int i; /* Loop counter */ int n; /* Number of columns */ @@ -829,21 +817,10 @@ /* Figure out how wide to draw the table */ - z = HtmlMarkupArg(pTable, "width", 0); - if( z ){ - int len = strlen(z); - if( len>0 && z[len-1]=='%' ){ - specWidth = (atoi(z) * lineWidth)/100; - }else{ - specWidth = atoi(z); - } - }else{ - specWidth = lineWidth; - } - if( specWidth < pTable->table.minW[0] ){ + if( lineWidth < pTable->table.minW[0] ){ width = pTable->table.minW[0]; - }else if( specWidth <= pTable->table.maxW[0] ){ - width = specWidth; + }else if( lineWidth <= pTable->table.maxW[0] ){ + width = lineWidth; }else{ width = pTable->table.maxW[0]; } @@ -878,7 +855,7 @@ return pEnd; } zAlign = HtmlMarkupArg(pTable, "align", ""); - if( width <= lineWidth ){ + if( width < lineWidth ){ int align = pTable->base.style.align; if( align==ALIGN_Right || stricmp(zAlign,"right")==0 ){ x[1] += lineWidth - width; diff -urw tkHTML/src/htmlwidget.c tkHTML_ds9//src/htmlwidget.c --- tkHTML/src/htmlwidget.c 2000-11-26 15:13:18.000000000 +0100 +++ tkHTML_ds9//src/htmlwidget.c 2012-03-02 10:48:54.000000000 +0100 @@ -1659,7 +1743,7 @@ { "resolve", 0, 2, 0, "?URI ...?", HtmlResolveCmd }, { "selection", "clear", 3, 3, 0, HtmlSelectionClearCmd}, { 0, "set", 5, 5, "START END", HtmlSelectionSetCmd }, - { "text", "ascii", 5, 5, "START END", 0 }, + { "text", "ascii", 5, 5, "START END", HtmlTextAsciiCmd}, { 0, "delete", 5, 5, "START END", 0 }, { 0, "html", 5, 5, "START END", 0 }, { 0, "insert", 5, 5, "INDEX TEXT", 0 }, debian/patches/disable_bugreport.patch0000600000000000000000000000245012037754046015333 0ustar Author: Ole Streicher Description: Disable the "Bug report" button: the website behind it is not functional anymore. --- a/hv/hv3_main.tcl +++ b/hv/hv3_main.tcl @@ -692,13 +692,10 @@ proc gui_build {widget_array} { ::hv3::toolbutton .toolbar.b.home -text Home -command [list \ gui_current goto $::hv3::homeuri ] - ::hv3::toolbutton .toolbar.bug -text {Report Bug} -command gui_report_bug .toolbar.b.new configure -tooltip "Open New Tab" .toolbar.b.home configure -tooltip "Go to Bookmarks Manager" - .toolbar.bug configure -tooltip "Bug Report" - # Create the middle bit - the browser window # ::hv3::tabset .notebook \ @@ -745,7 +742,6 @@ proc gui_build {widget_array} { pack [frame .toolbar.b.spacer -width 2 -height 1] -side left pack .toolbar.b -side left - pack .toolbar.bug -side right pack .toolbar.entry -fill x -expand true # Pack the top, bottom and middle, in that order. The middle must be @@ -824,7 +820,6 @@ proc gui_menu {widget_array} { .toolbar.b.stop configure -image hv3_stopimg .toolbar.b.new configure -image hv3_newimg .toolbar.b.home configure -image hv3_homeimg - .toolbar.bug configure -image hv3_bugimg } } #-------------------------------------------------------------------------- debian/patches/use_tcllib.patch0000600000000000000000000000120512037754046013761 0ustar Author: Ole Streicher Description: Use the snit package included into tcllib bundle instead of private copies of snit*.tcl --- a/hv/hv3_browser.tcl +++ b/hv/hv3_browser.tcl @@ -2,6 +2,7 @@ package require sqlite3 package require Tkhtml 3.0 +package require snit proc sourcefile {file} [string map \ [list %HV3_DIR% [file dirname [info script]]] \ @@ -9,7 +10,6 @@ proc sourcefile {file} [string map \ return [file join {%HV3_DIR%} $file] }] -source [sourcefile snit.tcl] source [sourcefile hv3_widgets.tcl] source [sourcefile hv3_notebook.tcl] source [sourcefile hv3_db.tcl] debian/patches/ds9.patch0000600000000000000000000000501712037754046012340 0ustar Origin: http://hea-www.harvard.edu/saord/download/ds9/source/ds9.6.2.tar.gz Description: Fixes that were applied to the package included in the saods9 source. --- a/src/htmlcmd.c +++ b/src/htmlcmd.c @@ -453,6 +453,28 @@ HtmlYviewCmd(clientData, interp, argc, argv) if (p) HtmlVerticalScroll(htmlPtr, p->anchor.y); } + else if( argc==4 && !strncmp(argv[2],"text",4)) { + HtmlElement *p; + int i; + + HtmlLock(htmlPtr); + if( HtmlGetIndex(htmlPtr, argv[3], &p, &i)!=0 ){ + if( !HtmlUnlock(htmlPtr) ){ + Tcl_AppendResult(interp,"malformed index: \"", argv[3], "\"", 0); + } + + return TCL_ERROR; + } + if( !HtmlUnlock(htmlPtr) && p ){ + if( p->base.type==Html_Text ) { + int offset = p->text.y-20; + if (offset<0) + offset = 0; + HtmlVerticalScroll(htmlPtr, offset); + } + + } + } else { int count; double fraction; --- a/src/htmlurl.c +++ b/src/htmlurl.c @@ -389,6 +389,9 @@ HtmlCallResolver(htmlPtr, azSeries) continue; } } + /* look for /../ at begining */ + if (!strncmp(zBuf,"/../",4)) + strcpy(zBuf,zBuf+3); HtmlFree(base->zPath); base->zPath = zBuf; } --- a/src/htmlwidget.c +++ b/src/htmlwidget.c @@ -1638,6 +1638,13 @@ HtmlGetColorByName(htmlPtr, zColor, def) * compatibility. */ n = strlen(zColor); + + /* trucate any spaces on the end */ + while (n>0 && zColor[n-1]==' ') { + zColor[n-1] = '\0'; + n--; + } + if (n == 6 || n == 3 || n == 9 || n == 12) { for (i = 0; i < n; i++) { if (!isxdigit(zColor[i])) @@ -1809,22 +1816,23 @@ GetColorByValue(htmlPtr, pRef) float dist; float closestDist; int closest; - int r, g, b; + XColor* q; + q = Tk_GetColorByValue(htmlPtr->clipwin, pRef); /* * Search for an exact match */ - r = pRef->red &= COLOR_MASK; - g = pRef->green &= COLOR_MASK; - b = pRef->blue &= COLOR_MASK; for (i = 0; i < N_COLOR; i++) { XColor *p = htmlPtr->apColor[i]; - if (p && (p->red & COLOR_MASK) == r && (p->green & COLOR_MASK) == g - && (p->blue & COLOR_MASK) == b) { + if (p && (q->red == p->red) + && (q->green == p->green) + && (q->blue == p->blue)) { htmlPtr->colorUsed |= (1LL << i); + Tk_FreeColor(q); return i; } } + Tk_FreeColor(q); /* * No exact matches. Look for a completely unused slot debian/patches/dont_resize_fixed_table_columns.patch0000600000000000000000000000275312037754046020260 0ustar Origin: http://groups.google.com/group/tkhtml3/browse_thread/thread/ff9221f6ea2ba16d Description: If I have a html-table like ... ... all the columns are resized if the widget ist smaller then it should be. --- a/src/htmltable.c +++ b/src/htmltable.c @@ -1480,14 +1480,12 @@ tableCalculateCellWidths(pData, availablewidth, isAuto) logWidthStage(2, pStageLog, pData->nCol, aWidth); /* Allocate pixels to explicit width columns */ - if (iRemaining > 0) { - for (ii = 0; ii < pData->nCol; ii++) { - if (aReqWidth[ii].eType == CELL_WIDTH_PIXELS) { - int iReq = MAX(0, aReqWidth[ii].x.iVal - aWidth[ii]); - aWidth[ii] += iReq; - iRemaining -= iReq; - } - } + for (ii = 0; ii < pData->nCol; ii++) { + if (aReqWidth[ii].eType == CELL_WIDTH_PIXELS) { + int iReq = MAX(0, aReqWidth[ii].x.iVal - aWidth[ii]); + aWidth[ii] += iReq; + iRemaining -= iReq; + } } logWidthStage(3, pStageLog, pData->nCol, aWidth); @@ -1560,6 +1558,11 @@ tableCalculateCellWidths(pData, availablewidth, isAuto) assert(CELL_WIDTH_PERCENT == 2); for (jj = 0; iRemaining < 0 && jj < 3; jj++) { + /* Only reduce columns with CELL_WIDTH_AUTO or CELL_WIDTH_PERCENT */ + if (jj != CELL_WIDTH_AUTO || jj != CELL_WIDTH_PERCENT ) { + continue; + }; + /* Total allocated, less the total min-content-width, for the cols */ int iAllocLessMin = 0; debian/patches/configure_shlibs.patch0000600000000000000000000000147312045713373015165 0ustar Author: Ole Streicher Description: Configure shared libs for hurd-i386 and kfreeBSD-* correctly. Bug-Debian: http://bugs.debian.org/692301 --- a/tclconfig/tcl.m4 +++ b/tclconfig/tcl.m4 @@ -1469,13 +1469,13 @@ dnl AC_CHECK_TOOL(AR, ar) fi ;; - GNU*) + GNU-*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" SHLIB_LD="${CC} -shared" - DL_OBJS="" + DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,--export-dynamic" CC_SEARCH_FLAGS="" @@ -1576,7 +1576,7 @@ dnl AC_CHECK_TOOL(AR, ar) UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; - FreeBSD-*) + FreeBSD-*|GNU/kFreeBSD*) # FreeBSD 3.* and greater have ELF. SHLIB_CFLAGS="-fPIC" SHLIB_LD="ld -Bshareable -x" debian/patches/fix_state_sock.patch0000600000000000000000000000065112037754046014645 0ustar Origin: http://groups.google.com/group/tkhtml3/browse_thread/thread/8e186f9355255d29 Description: Fix the exception 'can't read "state(sock)": no such element in array'. --- a/hv/hv3_http.tcl +++ b/hv/hv3_http.tcl @@ -626,7 +626,7 @@ if 0 { upvar 0 $token state catch { close $state(sock) - unset state(sock) +# unset state(sock) } eval [linsert $args 0 ::http::FinishReal $token] } debian/patches/install_manpages.patch0000600000000000000000000001214012037754046015155 0ustar Author: Ole Streicher Description: Install the manpages in the proper section. Fix trivial manpage spelling. --- a/Makefile.in +++ b/Makefile.in @@ -208,7 +208,9 @@ libraries: $(HV3_LIB) #======================================================================== doc: - $(TCLSH) $(srcdir)/doc/macros.tcl -nroff $(srcdir)/doc/html.man>tkhtml.n + $(TCLSH) $(srcdir)/doc/macros.tcl -nroff $(srcdir)/doc/html.man > tkhtml.3tcl + $(TCLSH) $(srcdir)/doc/macros.tcl -nroff $(srcdir)/doc/hv3.man > hv3.3tcl + $(TCLSH) $(srcdir)/doc/macros.tcl -nroff $(srcdir)/doc/browser.man> hv3browser.3tcl install: all install-binaries install-libraries install-doc @@ -235,12 +235,12 @@ install-libraries: libraries #======================================================================== install-doc: doc - @mkdir -p $(DESTDIR)$(mandir)/mann + @mkdir -p $(DESTDIR)$(mandir)/man3 @echo "Installing documentation in $(DESTDIR)$(mandir)" - @list='*.n'; for i in $$list; do \ + @list='*.3tcl'; for i in $$list; do \ echo "Installing $$i"; \ - rm -f $(DESTDIR)$(mandir)/mann/`basename $$i`; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/mann ; \ + rm -f $(DESTDIR)$(mandir)/man3/`basename $$i`; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/man3 ; \ done test: binaries libraries --- a/doc/macros.tcl +++ b/doc/macros.tcl @@ -71,6 +71,8 @@ proc process_text {input {nocommands 0}} { regsub -all {_([^ \n]*)_} $output {\1} ] + set output [string map { " -" " \\-" "\t-" "\t\\-" + "\t." "\t ." "'" "\""} $output ] set output [string trim [strip_leading_tabs $output]] set output [regsub -all {[\n]*REMOVELINEBREAK\n} $output \n] @@ -79,7 +81,7 @@ proc process_text {input {nocommands 0}} { proc TH {name section} { set date [clock format [clock seconds]] - return "\n.TH \"$name\" \"$section\" \"$date\"\n" + return "\n.TH \"$name\" \"3tcl\" \"$date\"\n" } proc Section {args} { --- a/doc/html.man +++ b/doc/html.man @@ -36,7 +36,7 @@ The Tkhtml package adds the [SQ ::tkhtml::htmlstyle] command to the interpreter it is loaded into. Invoking this command returns a CSS document suitable for use with Tkhml as a default - stylesheet for HTML documents. If the "-quirks" option is + stylesheet for HTML documents. If the -quirks option is passed to [SQ ::tkhtml::htmlstyle] then the returned document includes some extra rules used when rendering legacy documents. @@ -103,7 +103,7 @@ As well as for replacing entire document nodes (i.e. ), images are used in several other contexts in CSS formatted documents, for example as list markers or backgrounds. If the - -imagecmd option is not set to an empty string (the default), + -imagecmd option is not set to an empty string (the default), then each time an image URI is encountered in the document, it is appended to the -imagecmd script and the resulting list evaluated. @@ -539,7 +539,7 @@ The [SQ pathName text text] command returns a string containing the raw, unformatted text of the displayed document. - Each block box is seperated from the next by a newline + Each block box is separated from the next by a newline character. Each block of whitespace is collapsed to a single space, except within blocks with the CSS 'white-space' property set to "pre". diff --git a/doc/hv3.man b/doc/hv3.man index fdc7513..3a5ac48 100644 --- a/doc/hv3.man +++ b/doc/hv3.man @@ -58,7 +58,7 @@ }] The two most important interfaces are the [SQ goto] method and the - _-requestcmd_ option. The [SQ goto] method tells the widget to + _-requestcmd_ option. The [SQ goto] method tells the widget to load the document identified by the specified absolute or relative URI. @@ -67,7 +67,7 @@ users responsibility to retrieve the document and pass it back to the widget. If the document contains links to external resources (images or CSS stylesheets), then the widget invokes the - _-requestcmd_ script to request these. The _-requestcmd_ callback may + _-requestcmd_ script to request these. The _-requestcmd_ callback may choose to implement handling for one or more of http:// URIs, file:// URIs or any other existing or invented URI scheme. See the "Example Usage" section below for an example. @@ -350,7 +350,7 @@ to display ready in a Tcl variable (or variables). The solution here is to invent a custom URI scheme to use within the application. For example, the following example demonstrates a - _-requestcmd_ script that implements the "tclvar:", URI scheme + _-requestcmd_ script that implements the "tclvar:", URI scheme for refering to global Tcl variables. [Code { @@ -397,7 +397,7 @@ found at the start of each URI passed to [SQ tclvar_requestcmd]. This is because Hv3 resolves and escapes all URIs against the base URI of the currently loaded document before passing them to the - _-requestcmd_. This means you need to be careful with special + _-requestcmd_. This means you need to be careful with special characters. If the name of the variable storing the stylesheet document in the above example were _::css::my_stylesheet_, then markup like this: debian/hv3.menu0000600000000000000000000000022412037754046010552 0ustar ?package(hv3):needs="x11" section="Applications/Network/Web Browsing" \ title="Hv3 Tcl/Tk Web Browser" hints="Web browsers" command="/usr/bin/hv3" debian/get-orig-source.sh0000700000000000000000000000267412037754046012547 0ustar #!/bin/sh # # Download tkHTML from its fossil repository. This reqires that we know # the patch ID and have a session cookie. # # # Fossil uuid and corresponding date. The date goes only into the version # number. Since the development is rather slow, there putting year-month-day # here is more than enough. # UUID=4ee7aaa953d6cb59905b9ee1bf9f292a7138deb2 DATE="20110109" SID=$(echo ${UUID} | cut -c-16) INCOMING_TAR=tkHTML-${SID}.tar.gz # # Get the values for login # wget -O fossil_login.html http://tkhtml.tcl.tk/fossil/login PASSWD=$(fgrep "getElementById('p')" fossil_login.html | cut -d\' -f4) CS=$(fgrep \"cs\" fossil_login.html | cut -d\" -f6) echo $PASSWD $CS rm -f fossil_login.html # # Save the login cookie # wget -O /dev/null --save-cookies fossil_cookies.txt \ --post-data "cs=${CS}&u=anonymous&p=${PASSWD}&in=Login" \ http://tkhtml.tcl.tk/fossil/login # # Retrieve file with the login cookie # wget --load-cookies fossil_cookies.txt -O ${INCOMING_TAR} \ "http://tkhtml.tcl.tk/fossil/tarball/${INCOMING_TAR}?uuid=${UUID}" rm -f fossil_cookies.txt VERSION=$(tar xOf ${INCOMING_TAR} --wildcards \*/configure.in |\ grep ^AC_INIT | cut -d, -f2 | cut -d\) -f1) VERSION=$(echo ${VERSION} | tr -d \[\]) if [ "${VERSION}" != "" ] ; then DEBIAN_ORIG_TAR=tk-html3_${VERSION}~fossil${DATE}.orig.tar.gz ln -sf ${INCOMING_TAR} ${DEBIAN_ORIG_TAR} else echo "Could not find version info in tar file. Check ${INCOMING_TAR}" fi debian/control0000600000000000000000000000236712037754046010601 0ustar Source: tk-html3 Priority: extra Maintainer: Ole Streicher Build-Depends: debhelper (>= 8.0.0), dh-autoreconf, tcl-dev, tk-dev Standards-Version: 3.9.3 Section: interpreters Homepage: http://tkhtml.tcl.tk/index.html Vcs-Git: git://git.debian.org/git/debian-science/packages/tkhtml3.git Vcs-Browser: http://git.debian.org/?p=debian-science/packages/tkhtml3.git Package: tk-html3 Architecture: any Depends: ${tk:Depends}, ${misc:Depends}, ${shlibs:Depends} Description: Render HTML and CSS content with tk Tkhtml3 is a Tk widget that displays content formatted according to the HTML and CSS standards. Tkhtml3 is not an end-user application, it is for Tcl programmers who wish to embed a standards-compliant HTML/CSS implementation in their applications. . This package contains the Tkhtml3 widget and the Hv3 mega-widget. Package: hv3 Section: web Architecture: all Depends: ${tk:Depends}, ${misc:Depends}, tk-html3, libsqlite3-tcl, tcllib Recommends: libtk-img, tcl-tls Description: Lightweight web browser Hv3 is a cross-platform web browser with support for modern web standards like HTML, CSS, HTTP. . ECMAScript (a.k.a. javascript) is not supported since the corresponding library (SEE) is installed (not available in Debian yet). debian/README.Debian0000600000000000000000000000163212037754046011231 0ustar tk-html3 and hv3 for Debian --------------------------- The browser does not support ECMAScript/Javascript since the needed script engine "SEE" is not packaged yet for Debian. The development of the source code for this package seems to be halted since a while. The home page is no not actual in all aspects: The CVSTrac is not used anymore, instead the "fossil" SCM is used and can be reched at the address . However, the original authors are not working on the project anymore, and others seem to have no write access to the repository. The google groups mailing list is not completely dead, however. I incorporated all patches that appeared in the mailing list until 29 Sep 2011. -- Ole Streicher Wed, 22 Feb 2012 18:00:00 +0100 debian/source/0000700000000000000000000000000012037754046010464 5ustar debian/source/format0000600000000000000000000000001412037754046011674 0ustar 3.0 (quilt) debian/copyright0000600000000000000000000001444312037754046011127 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: tkhtml.tcl.tk Upstream-Author: Dan Kennedy Source: http://tkhtml.tcl.tk/index.html Files: * Copyright: Copyright (c) 2005-2007 Dan Kennedy Copyright (c) 2005 Eolas Technologies Inc. Copyright (c) 1991-1994 The Regents of the University of California. Copyright (c) 1994-1997 Sun Microsystems, Inc. Copyright (c) 1998-2003, Bryan Oakley Copyright (c) 1998-1999 by Scriptics Corporation. Copyright (c) 1999-2000 Ajuba Solutions. Copyright (c) 2002-2005 ActiveState Corporation. Copyright (C) 2001 Joe English . License: BSD All rights reserved. . This Open Source project was made possible through the financial support of Eolas Technologies Inc. . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Eolas Technologies Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: hv/snit.tcl hv/snit2.tcl tools/expand Copyright: William H. Duquette License: MIT alike The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. . IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. . THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. . GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license. . Note by Ole Streicher : These files are not used to build the package. Files: tools/lempar.c Copyright: Not applicable License: Public domain The author of this program disclaims copyright. Files: tools/mktclapp.c doc/spec.html Copyright: Copyright (c) 1998, 1999 D. Richard Hipp License: GPLv2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. . Author contact information: drh@acm.org http://www.hwaci.com/drh/ . Note by Ole Streicher : These files are not used to build the package. Files: src/htmlexts.c Copyright: Copyright (C) 1997-2000 Peter MacDonald and BrowseX Systems Inc. License: LGPLv2+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. . On Debian systems, the complete text of the GNU Library General Public License can be found in `/usr/share/common-licenses/LGPL-2'. . Author contact information: peter@browsex.com http://browsex.com Files: debian/* Copyright: not applicable License: public-domain Debian packaging by Ole Streicher debian/rules0000711000000000000000000000073412037754046010252 0ustar #!/usr/bin/make -f # -*- makefile -*- #export DH_VERBOSE=1 %: dh $@ --with autoreconf override_dh_auto_configure: dh_auto_configure -- --libdir=/usr/lib/tcltk --mandir=/usr/share/man override_dh_installchangelogs: dh_installchangelogs ChangeLog override_dh_shlibdeps: dh_shlibdeps tcltk-depends override_dh_auto_test: # ignore builtin test debiandir_SQ = $(subst ','\'',$(dir $(lastword $(MAKEFILE_LIST)))) get-orig-source: sh '$(debiandir_SQ)'get-orig-source.sh