Index: library/lib/nxdoc-core.tcl =================================================================== diff -u -redea1a9c44f4c685e45e59e7f8864ae11d84ff42 -r6ef6700b363d0fcc6a4ccf78a9b51e27f5598936 --- library/lib/nxdoc-core.tcl (.../nxdoc-core.tcl) (revision edea1a9c44f4c685e45e59e7f8864ae11d84ff42) +++ library/lib/nxdoc-core.tcl (.../nxdoc-core.tcl) (revision 6ef6700b363d0fcc6a4ccf78a9b51e27f5598936) @@ -2590,25 +2590,27 @@ } - rename ::nsf::proc ::nsf::_%&proc - ::interp invokehidden "" proc ::nsf::proc {name arguments body} { - set ns [uplevel [list namespace current]] - uplevel [list ::nsf::_%&proc $name $arguments $body] - set fqn $name - if {[string first "::" $name] != 0} { - set fqn [string trimright $ns :]::$name - } - if {$arguments eq "" && $body eq ""} { - ::nx::doc::__at_deregister_command $fqn - } else { - ::nx::doc::__at_register_command $fqn \ - ->cmdtype @command \ - ->source [file normalize [info script]] \ - ->nsexported [::nx::doc::is_exported $fqn] \ + if {[info commands ::nsf::proc] ne ""} { + rename ::nsf::proc ::nsf::_%&proc + ::interp invokehidden "" proc ::nsf::proc {name arguments body} { + set ns [uplevel [list namespace current]] + uplevel [list ::nsf::_%&proc $name $arguments $body] + set fqn $name + if {[string first "::" $name] != 0} { + set fqn [string trimright $ns :]::$name + } + if {$arguments eq "" && $body eq ""} { + ::nx::doc::__at_deregister_command $fqn + } else { + ::nx::doc::__at_register_command $fqn \ + ->cmdtype @command \ + ->source [file normalize [info script]] \ + ->nsexported [::nx::doc::is_exported $fqn] \ ->docstring $body + } } } - + # 3) provide for tracing commands namespace-imported at "sourcing time" #::interp hide "" namespace ::interp invokehidden "" proc ::namespace {subcmd args} { @@ -2697,6 +2699,8 @@ -not:switch nspatterns:optional } { + + if {![info exists :registered_commands]} return; if {[info exists nspatterns]} { set opts [join $nspatterns |] # set nspatterns "^($opts)\[^\:\]*\$"