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"