Index: Makefile.in =================================================================== diff -u -r4b4555e4069ed573312be00cdc01bd865e6e49fa -raca47b6a2e650115cb1b517e62c6d1c33bdc89c6 --- Makefile.in (.../Makefile.in) (revision 4b4555e4069ed573312be00cdc01bd865e6e49fa) +++ Makefile.in (.../Makefile.in) (revision aca47b6a2e650115cb1b517e62c6d1c33bdc89c6) @@ -65,7 +65,6 @@ $(src_lib_dir)/serialize/serializer.tcl \ $(xotcl_src_doc_dir)/langRef.xotcl \ $(xotcl_src_lib_dir)/lib/*.xotcl \ - $(xotcl_src_lib_dir)/store/*.xotcl \ $(xotcl_src_test_dir)/*.xotcl \ $(xotcl_src_app_dir)/scripts/*.xotcl \ $(xotcl_src_app_dir)/comm/[flsw]*.xotcl \ Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/lib/changeNextVersion'. Fisheye: No comparison available. Pass `N' to diff? Index: library/lib/nx-pp.tcl =================================================================== diff -u --- library/lib/nx-pp.tcl (revision 0) +++ library/lib/nx-pp.tcl (revision aca47b6a2e650115cb1b517e62c6d1c33bdc89c6) @@ -0,0 +1,259 @@ +package require nx +package provide nx::pp 1.0 + +# @package nx::pp +# +# A simple pretty printer for Tcl/XOTcl/NX +# that converts a script into HTML output. +# +# Usage: +# package require nx::pp +# set html [nx::pp render { your script }] +# +# Desinged to be usable from asciidoc like gnu source-highligt, +# ignores options. +# +# Gustaf Neumann, Dez 2010 + +namespace eval ::nx::pp { + # + # The pretty printer is implemented via several States objects that + # represent different context for input processing. Such states are + # for example "comment" or "quoted strings". Every state contains + # the parsed content, and a CSS class for HTML rendering. + # + nx::Class create State { + :property {text ""} + :property {cssClass "[namespace tail [nx::self]]"} + :property {prevState "[default]"} + + :public method start {char} { + # Start output in a state by initializing the text buffer. + set :text $char + return [nx::self] + } + + :public method cssWrap {html} { + if {${:cssClass} ne ""} { + return "$html" + } else { + return $html + } + } + + :public method flush {} { + # Flush the current text in the buffer using the css class + set html [string map [list & {&} < {<} > {>}] ${:text}] + ::nx::pp puts -nonewline [:cssWrap $html] + set :text "" + } + + :method new_state {new lastChar firstChar} { + # Switch from one state to another state + if {[$new eval {info exists :escape}]} { + $new prevState [nx::self] + append :text $lastChar + return [$new] + } else { + $new prevState [default] + append :text $lastChar + :flush + return [$new start $firstChar] + } + } + + :public method process {char} { + # Process a single character in the current state + append :text $char + return [nx::self] + } + } + + # + # Below, we define the state objects for processing the input + # + State create default -cssClass "" { + # + # The State "default" is processing bare Tcl words. In this state, + # we perform substitutions of keywords and placeholders. + # + :public method process {char} { + switch $char { + "\#" { return [:new_state comment "" $char]} + "\"" { return [:new_state quoted "" $char]} + "\$" { return [:new_state variable "" $char]} + default {return [nx::next]} + } + } + + set keywords { + after append apply array binary break catch cd chan clock close concat continue + dict else encoding eof error eval exec exit expr fblocked fconfigure fcopy file + fileevent flush for foreach format gets glob global if incr info interp join + lappend lassign lindex linsert list llength load lrange lrepeat lreplace lreverse + lsearch lset lsort namespace open pid proc puts read regexp regsub rename return + scan seek set socket source split stdin stderr stdout string subst switch + tell trace unset uplevel update upvar variable vwait while + package + public protected private + method alias property forward delete require + my next new self current dispatch objectparameter defaultmethod + create init new destroy alloc dealloc recreate unknown move configure + class superclass mixin filter guard metaclass + methods lookup + ::nx::Class nx::Class ::xotcl::Class xotcl::Class Class + ::nx::Object nx::Object ::xotcl::Object xotcl::Object Object + ::nx::VariableSlot nx::VariableSlot Attribute + } + set :re(keyword1) (\[^:.-\])(\\m[join $keywords \\M|\\m]\\M) + set :re(keyword2) (\[^:\])(\\m:[join $keywords \\M|:\\m]\\M) + + set :re(placeholder1) {([/][a-zA-Z0-9:]+?[/])} + set :re(placeholder2) {([?][^ ][-a-zA-Z0-9: .]+?[?])} + + :public method flush {} { + set html [string map [list & {&} < {<} > {>}] ${:text}] + regsub -all [set :re(keyword1)] " $html" {\1\2} html + regsub -all [set :re(keyword2)] $html {\1\2} html + set html [string range $html 1 end] + regsub -all [set :re(placeholder1)] $html {\1} html + regsub -all [set :re(placeholder2)] $html {\1} html + nx::pp puts -nonewline [:cssWrap $html] + set :text "" + } + } + + State create quoted -cssClass "string" { + # + # The State "quoted" is for content between double quotes. + # + :public method process {char} { + switch $char { + "\"" {return [:new_state ${:prevState} $char ""]} + "\\" {return [:new_state escape $char ""]} + default {return [nx::next]} + } + } + } + + State create comment { + # + # The State "comment" is for Tcl comments (currently, only up to + # end of line) + # + :public method process {char} { + switch $char { + "\n" {return [:new_state default $char ""]} + default {return [nx::next]} + } + } + } + + State create variable { + # + # The State "variable" is for simple Tcl variables (without curley + # braces) + # + :public method process {char} { + switch -glob -- $char { + {\{} {return [:new_state quoted_variable $char ""] } + {[a-zA-Z0-9_:]} {return [nx::next]} + default {return [:new_state default "" $char]} + } + + } + } + + State create quoted_variable -cssClass "variable" { + # + # The State "quoted_variable" is for Tcl variables, where the + # names are quoted with curley braces. + # + :public method process {char} { + switch -glob -- $char { + {\}} {return [:new_state default $char ""] } + default {return [nx::next]} + } + } + } + + State create escape -cssClass "" { + # + # The State "escape" is for simple backslash handling. + # + # Set an instance variable to ease identification of the state + set :escape 1 + + # When a character is processed in the escape state, it is suffed + # into the previous state and returns immediately to it. + # + :public method process {char} { + ${:prevState} eval [list append :text $char] + return ${:prevState} + } + } +} + +# +# Finally, we create a simple pretty-printer as an object. The +# method render receives a Tcl script as input and writes the HTML +# output to stdout +# +nx::Object create nx::pp { + + :public method toHTML {block} { + set state [self]::default + set l [string length $block] + for {set i 0} {$i < $l} {incr i} { + set state [$state process [string index $block $i]] + } + $state flush + } + + :public method numbers {block} { + set nrlines [regsub -all \n $block \n block] + incr nrlines + set HTML "" + for {set i 1} {$i<=$nrlines} {incr i} { + append HTML [format %3d $i]\n + } + return $HTML + } + + :public method render {{-linenumbers false} -noCSSClasses:switch block} { + set :output "" + :toHTML $block + set HTML ${:output} + set :output "" + :puts "" + if {$linenumbers} { + :puts -nonewline "" + :puts -nonewline "
[:numbers $block]
$HTML
" + } else { + :puts -nonewline "
$HTML
" + } + return ${:output} + } + + :public method puts {{-nonewline:switch} string} { + append :output $string + if {!$nonewline} {append :output \n} + } +} + +# pp render { +# set x "hello\ngoodbye" +# # a comment line +# set b $c($a).b +# foo a ${:text} b "hello \"$x" world +# } +# exit Index: library/lib/nx-test.tcl =================================================================== diff -u --- library/lib/nx-test.tcl (revision 0) +++ library/lib/nx-test.tcl (revision aca47b6a2e650115cb1b517e62c6d1c33bdc89c6) @@ -0,0 +1,167 @@ +package provide nx::test 1.0 +package require nx + +namespace eval ::nx { + + # @file Simple regression test support for XOTcl / NX + + nx::Class create nx::Test { + # + # Class Test is used to configure test instances, which can + # be configured by the following parameters: + # + # @param cmd the command to be executed + # @param expected the expected result + # @param count number of executions of cmd + # @param pre a command to be executed at the begin of the test (before cmd) + # @param post a command to be executed after the test (after all cmds) + # @param namespace in which pre, post and cmd are evaluated; default "::" + # + # The defined tests can be executed by [:cmd "Test run"] + + :property {name ""} + :property cmd + :property {namespace ::} + :property {verbose 0} + :property {expected 1} + :property {count 1} + :property msg + :property setResult + :property errorReport + :property pre + :property post + + set :count 0 + + :public class method case {name arg:optional} { + # + # Experimental version of Test case, which (1) accepts test case as argument + # and (2) destroys all created objects on exit (auto cleanup) + # + # General limitation: namespace resolving differs in nested evals + # from global evals. So, this approach is not suitable for all test + # (but for most). + # + # Current limitations: just for nx::Objects, no method/mixin cleanup/var cleanup + # + set :case $name + + if {[info exists arg]} { + foreach o [Object info instances -closure] {set pre_exist($o) 1} + namespace eval :: [list [current] eval $arg] + foreach o [Object info instances -closure] { + if {[info exists pre_exist($o)]} continue + if {[::nsf::object::exists $o]} {$o destroy} + } + } + } + + :public class method parameter {name value:optional} { + if {[info exists value]} { + [self]::slot::$name default $value + [self]::slot::$name reconfigure + } else { + return [[self]::slot::$name $name default] + } + } + + :public class method new args { + set testfile [file rootname [file tail [info script]]] + if {[info exists :case]} { + if {![info exists :ccount(${:case})]} {set :ccount(${:case}) 0} + set :name $testfile/${:case}.[format %.3d [incr :ccount(${:case})]] + } else { + set :name $testfile/t.[format %.3d [incr :count]] + } + :create ${:name} -name ${:name} {*}$args + } + + :public class method run {} { + set startTime [clock clicks -milliseconds] + foreach example [lsort [:info instances -closure]] { + $example run + } + puts stderr "Total Time: [expr {[clock clicks -milliseconds]-$startTime}] ms" + } + + :public method call {msg cmd} { + if {[:verbose]} {puts stderr "$msg: $cmd"} + return [::namespace eval ${:namespace} $cmd] + } + + :public method run args { + :exitOn + if {[info exists :pre]} {:call "pre" ${:pre}} + if {![info exists :msg]} {set :msg ${:cmd}} + set gotError [catch {:call "run" ${:cmd}} r] + if {[info exists :setResult]} {set r [eval [set :setResult]]} + if {$r eq ${:expected}} { + if {$gotError} { + set c 1 + } else { + if {[info exists :count]} {set c ${:count}} {set c 1000} + } + if {[:verbose]} {puts stderr "running test $c times"} + if {$c > 1} { + set r1 [time {time {::namespace eval ${:namespace} ${:cmd}} $c}] + regexp {^(-?[0-9]+) +} $r1 _ mS1 + set ms [expr {$mS1*1.0/$c}] + puts stderr "[set :name]:\t[format %6.2f $ms] mms, ${:msg}" + } else { + puts stderr "[set :name]: ${:msg} ok" + } + } else { + puts stderr "[set :name]:\tincorrect result for '${:msg}', expected:" + puts stderr "'${:expected}', got\n'$r'" + puts stderr "\tin test file [info script]" + if {[info exists :errorReport]} {eval [set :errorReport]} + # + # Make sure that the script exits with an error code, but + # unwind the callstack via return with an error code. Using + # [exit -1] would leave us with a partially unwinded callstack + # with garbage complicating debugging (e.g. MEM_COUNT + # statistics would indicate unbalanced refCounts, etc.). + :exit -1 + } + if {[info exists :post]} {:call "post" ${:post}} + :exitOff + } + + :public method exit {{statuscode "1"}} { + array set map {1 ok -1 error} + set errorcode $map($statuscode) + :exitOff + return -code $errorcode -level [expr {[info level]-1}] "Test was exited with code $statuscode" + } + + :public method exitOn {} { + interp hide {} exit; + interp alias {} ::exit {} [current] exit + } + + :public method exitOff {} { + interp alias {} ::exit {} + interp expose {} exit; + } + + + } + + ::namespace export Test +} + +proc ? {cmd expected {msg ""}} { + set namespace [uplevel {::namespace current}] + #puts stderr "eval in namespace $namespace" + if {$msg ne ""} { + set t [nx::Test new -cmd $cmd -msg $msg -namespace $namespace] + } else { + set t [nx::Test new -cmd $cmd -namespace $namespace] + } + $t expected $expected + $t run + nsf::__db_run_assertions +} + + + Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/lib/pp.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/lib/test.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/Agent.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/AgentManagement.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/COPYRIGHT'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/HtmlPlace.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/HttpPlace.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/Invoker.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/PlaceAccessControl.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/SecureHtmlPlace.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/SecureHttpPlace.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/SendStrategy.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/UserMgt.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/WebAgent.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/WebDocument.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/WebObject.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/cacert.pem'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/pageTemplate.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/actiweb/pkgIndex.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/COPYRIGHT'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/ChainOfResponsibility.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/OnCalleeProxy.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/Singleton.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/SortedComposite.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/adapter.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/composite.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/link.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/manager.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/observer.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/patterns/pkgIndex.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/rdf/COPYRIGHT'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/rdf/RDFCreator.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/rdf/RDFTriple.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/rdf/pkgIndex.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/rdf/rdfExample.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/rdf/rdfRecreatorVisitor.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/rdf/xoRDF.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/registry/COPYRIGHT'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/registry/Registry.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/registry/pkgIndex.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/COPYRIGHT'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/JufGdbmStorage.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/MemStorage.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/MultiStorage.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/Persistence.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/Storage.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/TclGdbmStorage.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/TextFileStorage.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclGdbm/Makefile'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclGdbm/Makefile.in'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclGdbm/aclocal.m4'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclGdbm/configure'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclGdbm/configure.in'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclGdbm/nsf.m4'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclGdbm/tcl.m4'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclGdbm/xotclgdbm.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/Makefile.in'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/Makefile.vc'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/aclocal.m4'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/configure'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/configure.in'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/dllEntryPoint.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/hash.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/nsf.m4'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/pair.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/pair.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/sdbm.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/sdbm.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/tcl.m4'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/tune.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/util.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/XOTclSdbm/xotclsdbm.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/persistenceExample.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/pkgIndex-subdir.add'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/store/pkgIndex.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/COPYRIGHT'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/Makefile.in'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/Makefile.vc'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/aclocal.m4'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/asciitab.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/codepage.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/codepage.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/configure'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/configure.in'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/dllEntryPoint.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/dllmain.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/filemap.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/hashtable.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/hashtable.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/iasciitab.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/latin1tab.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/nametab.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/nsf.m4'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/readfilemap.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/readme'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/tcl.m4'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/tclexpat.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/test-break.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/test-continue.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/test-error.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/tester'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/unixfilemap.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/utf8tab.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/win32filemap.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmldef.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmlparse.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmlparse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmlrole.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmlrole.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmltok.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmltok.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmltok_impl.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmltok_impl.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/TclExpat-1.1/xmlwf.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/pkgIndex.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/printVisitor.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/sgml.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/xml.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/xml.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/xmlExample.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/xmlRecreatorVisitor.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/library/xml/xoXML.xotcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/tests/UNIVERSAL.test'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/tests/actiweb.test'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/tests/persistence.test'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aca47b6a2e650115cb1b517e62c6d1c33bdc89c6 refers to a dead (removed) revision in file `library/xotcl/tests/xoRDF.test'. Fisheye: No comparison available. Pass `N' to diff?