Index: openacs-4/packages/acs-tcl/tcl/defs-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/defs-procs.tcl,v diff -u -N -r1.81.2.4 -r1.81.2.5 --- openacs-4/packages/acs-tcl/tcl/defs-procs.tcl 16 Dec 2019 17:14:38 -0000 1.81.2.4 +++ openacs-4/packages/acs-tcl/tcl/defs-procs.tcl 3 Jan 2020 07:36:22 -0000 1.81.2.5 @@ -561,7 +561,7 @@ Example setting a variable with extra_vars:
-    set return_url [ad_return_url [list some_id $some_id] [some_other_id $some_other_id]]
+    set return_url [ad_return_url [list [list some_id $some_id] [list some_other_id $some_other_id]]]
     
@author Don Baccus (dhogaza@pacifier.com) @@ -575,23 +575,27 @@ if {[ns_conn isconnected]} { set query_list [export_entire_form_as_url_vars] - if { [llength $query_list] == 0 } { - set url [ns_conn url] - } else { - set url "[ns_conn url]?[join $query_list &]" - } - if { $qualified_p } { - # Make the return_url fully qualified - set url [security::get_qualified_url $url] - } + set base_url [ns_conn url] } else { set query_list "" - set url $default_url + set base_url $default_url } - foreach {extra_arg} $extra_args { - lappend query_list [join $extra_arg "="] + + if { [llength $query_list] == 0 } { + set url $base_url + } else { + set url "${base_url}?[join $query_list &]" } + if {[llength $extra_args] > 0} { + set url [export_vars -base $url $extra_args] + } + + if { $qualified_p } { + # Make the return_url fully qualified + set url [security::get_qualified_url $url] + } + if { $urlencode_p } { set url [ns_urlencode $url] }