Index: openacs-4/packages/acs-tcl/tcl/apm-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/apm-procs.tcl,v diff -u -N -r1.95.2.8 -r1.95.2.9 --- openacs-4/packages/acs-tcl/tcl/apm-procs.tcl 16 Nov 2016 19:10:10 -0000 1.95.2.8 +++ openacs-4/packages/acs-tcl/tcl/apm-procs.tcl 28 Mar 2017 07:17:55 -0000 1.95.2.9 @@ -1699,15 +1699,25 @@ } set test_arg_list "" + set test_arg_list_spec "" foreach arg_name [apm_arg_names_for_callback_type -type $type] { lappend test_arg_list -$arg_name value + lappend test_arg_list_spec -${arg_name}:required } if { $test_arg_list eq "" } { # The callback proc should take no args return [expr {[info args ::$proc_name] eq ""}] } + + if {[info commands ::nsf::cmd::info] ne ""} { + # + # We can compare the signature of via nsf procs + # + return [expr {[::nsf::cmd::info parameter ::$proc_name] eq $test_arg_list_spec}] + } + # The callback proc should have required arg switches. Check # that the ad_proc arg parser doesn't throw an error with # test arg list