Index: openacs-4/packages/acs-service-contract/www/binding-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-service-contract/www/binding-display.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-service-contract/www/binding-display.tcl 17 May 2018 14:17:35 -0000 1.8 +++ openacs-4/packages/acs-service-contract/www/binding-display.tcl 3 Sep 2024 15:37:33 -0000 1.9 @@ -42,29 +42,37 @@ } db_multirow -extend {check} binding binding { - select impl_operation_name, impl_alias, impl_pl - from acs_sc_impl_aliases + select impl_operation_name, impl_alias, impl_pl + from acs_sc_impl_aliases where impl_name = :impl_name and impl_contract_name = :contract_name order by lower(impl_operation_name) - } { if {$impl_pl eq "TCL"} { regsub {^::} $impl_alias {} impl_alias - if {[info commands ::$impl_alias] ne ""} { + if {[namespace which ::nsf::procs::$impl_alias] ne ""} { + # + # We are using NSF to define procs, so the arguments need + # to be looked up on the NSF alias. + # + append impl_alias " {[info args ::nsf::procs::$impl_alias]}" + } elseif {[namespace which ::$impl_alias] ne ""} { + # + # This proc was defined via plain Tcl proc command. + # append impl_alias " {[info args ::$impl_alias]}" - } elseif {[llength $impl_alias] > 1 - && [info commands ::xotcl::Object] ne "" - && [::xotcl::Object isobject [lindex $impl_alias 0]] - && [[lindex $impl_alias 0] info methods [lindex $impl_alias 1]] ne ""} { - # - it looks like a method, - # - we have XOTcl installed, - # - the first word is an object, - # - the second word is a method for the object, - # ... so provide a link to the XOTcl API browser - set href "/xotcl/show-object?object=[lindex $impl_alias 0]&show_methods=2" - append impl_alias "" \ - "" - } else { + } elseif {[llength $impl_alias] > 1 + && [namespace which ::xotcl::Object] ne "" + && [::xotcl::Object isobject [lindex $impl_alias 0]] + && [[lindex $impl_alias 0] info methods [lindex $impl_alias 1]] ne ""} { + # - it looks like a method, + # - we have XOTcl installed, + # - the first word is an object, + # - the second word is a method for the object, + # ... so provide a link to the XOTcl API browser + set href "/xotcl/show-object?object=[lindex $impl_alias 0]&show_methods=2" + append impl_alias "" \ + "" + } else { append impl_alias { - NOT FOUND!} } set impl_alias "$impl_alias"