Index: openacs-4/packages/xowiki/tcl/xowiki-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-procs.tcl,v diff -u -r1.59 -r1.60 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 8 Dec 2006 16:01:51 -0000 1.59 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 9 Dec 2006 10:53:29 -0000 1.60 @@ -589,31 +589,36 @@ return $ch$page } else { - # we have a direct (adp-less include) my instvar package_id + # we have a direct (adp-less include) + # Some browsers change {{cmd -flag "..."}} into {{cmd -flag "..."}} + # We have to change this back + regsub -all {([^\\])"} $arg "\\1\"" arg + + # do we have a wellformed list? if {[catch {set page_name [lindex $arg 0]} errMsg]} { - my log "--S arg='$arg'" + #my log "--S arg='$arg'" # there is something syntactically wrong return "${ch}Error in '{{$arg}}' in [my set name]
\n\ Syntax: <name of portlet> {<argument list>}
\n Invalid argument list: '$arg'; must be attribute value pairs (attribues with dashes)" } + # the include is either a portlet class, or a wiki page if {[my isclass ::xowiki::portlet::$page_name]} { # direct call, without page, not tailorable set page [::xowiki::portlet::$page_name new \ -package_id $package_id \ -name $page_name \ -actual_query [::xo::cc actual_query]] } else { - # we include a page, tailorable + # we include a wiki page, tailorable set page [$package_id resolve_page $page_name __m] catch {$page set __decoration portlet} } if {$page ne ""} { $page destroy_on_cleanup $page set __including_page [self] - regsub -all {([^\\])"} [lrange $arg 1 end] {\1\"} parameters - $page set __caller_parameters $parameters + $page set __caller_parameters [lrange $arg 1 end] #$page set __decoration portlet foreach {att value} [$page set __caller_parameters] { switch -- $att {