Index: openacs-4/packages/xotcl-core/tcl/06-param-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/06-param-procs.tcl,v diff -u -N -r1.17 -r1.18 --- openacs-4/packages/xotcl-core/tcl/06-param-procs.tcl 7 Aug 2017 23:48:30 -0000 1.17 +++ openacs-4/packages/xotcl-core/tcl/06-param-procs.tcl 1 Oct 2017 11:57:04 -0000 1.18 @@ -202,7 +202,7 @@ -package_key {-retry true} } { - ::xo::PackageMgr instvar package_class + #::xo::PackageMgr instvar package_class if {![info exists package_key]} { set package_key [my get_package_key_from_id -package_id $package_id] } Index: openacs-4/packages/xotcl-core/tcl/20-Ordered-Composite-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/20-Ordered-Composite-procs.tcl,v diff -u -N -r1.23 -r1.24 --- openacs-4/packages/xotcl-core/tcl/20-Ordered-Composite-procs.tcl 7 Aug 2017 23:48:30 -0000 1.23 +++ openacs-4/packages/xotcl-core/tcl/20-Ordered-Composite-procs.tcl 1 Oct 2017 11:57:04 -0000 1.24 @@ -14,18 +14,18 @@ OrderedComposite instproc show {} { next - foreach child [my children] { + foreach child [:children] { $child show } } OrderedComposite instproc orderby {{-order "increasing"} variable} { - my set __order $order - my set __orderby $variable + set :__order $order + set :__orderby $variable } OrderedComposite instproc __compare {a b} { - set by [my set __orderby] + set by ${:__orderby} set x [$a set $by] set y [$b set $by] if {$x < $y} { @@ -38,47 +38,46 @@ } OrderedComposite instproc children {} { - set children [expr {[my exists __children] ? [my set __children] : ""}] - if {[my exists __orderby]} { - set order [expr {[my exists __order] ? [my set __order] : "increasing"}] + set children [expr {[info exists :__children] ? ${:__children} : ""}] + if {[info exists :__orderby]} { + set order [expr {[info exists :__order] ? ${:__order} : "increasing"}] return [lsort -command [list my __compare] -$order $children] } else { return $children } } OrderedComposite instproc add obj { - my lappend __children $obj + lappend :__children $obj $obj set __parent [self] #my log "-- adding __parent [self] to $obj -- calling after_insert" #$obj __after_insert } OrderedComposite instproc delete obj { - my instvar __children - set p [lsearch -exact $__children $obj] - if {$p == -1} {error "can't delete '$obj' from $__children"} - set __children [lreplace $__children $p $p] + set p [lsearch -exact ${:__children} $obj] + if {$p == -1} {error "can't delete '$obj' from ${:__children}"} + set :__children [lreplace ${:__children} $p $p] $obj destroy } OrderedComposite instproc last_child {} { - lindex [my set __children] end + lindex ${:__children} end } OrderedComposite instproc destroy {} { # destroy all children of the ordered composite - if {[my exists __children]} { - #my log "--W destroying children [my set __children]" - foreach c [my set __children] { - if {[my isobject $c]} {$c destroy} + if {[info exists :__children]} { + #my log "--W destroying children ${:__children}" + foreach c ${:__children} { + if {[:isobject $c]} {$c destroy} } } - #show_stack;my log "--W children murdered, now next, chlds=[my info children]" + #show_stack;my log "--W children murdered, now next, chlds=[:info children]" #namespace eval [self] {namespace forget *} ;# for pre 1.4.0 versions next } OrderedComposite instproc contains cmds { - my requireNamespace ;# legacy for older xotcl versions + :requireNamespace ;# legacy for older xotcl versions set m [Object info instmixin] if {"[self class]::ChildManager" ni $m} { set insert 1 @@ -109,14 +108,14 @@ Class create OrderedComposite::ChildManager -instproc init args { set r [next] #set parent [self callingobject] ;# not a true calling object (ns-eval), but XOTcl 1 honors it - #set parent [my info parent] ;# is ok in XOTcl 2, since the namespace is honored correctly + #set parent [:info parent] ;# is ok in XOTcl 2, since the namespace is honored correctly #set parent [uplevel 2 self] ;# should work everywhere #puts stderr "-- CONTAINS p=$parent, co=[self callingobject] n=[uplevel 2 self]" # # get the top-most composite context as parent set parent [lindex [[self class] set composite] end] $parent lappend __children [self] - my set __parent $parent + set :__parent $parent #my __after_insert #my log "-- adding __parent $parent to [self]" return $r @@ -126,11 +125,11 @@ Class create OrderedComposite::IndexCompare OrderedComposite::IndexCompare instproc __compare {a b} { - set by [my set __orderby] + set by ${:__orderby} set x [$a set $by] set y [$b set $by] - #my log "--value compare $x $y] => [my __value_compare $x $y 0]" - return [my __value_compare $x $y 0] + #my log "--value compare $x $y] => [:__value_compare $x $y 0]" + return [:__value_compare $x $y 0] } OrderedComposite::IndexCompare instproc __value_compare {x y def} { set xp [string first . $x] @@ -145,10 +144,10 @@ } } elseif {$xp == -1} { set yh [string range $y 0 $yp-1] - return [my __value_compare $x $yh -1] + return [:__value_compare $x $yh -1] } elseif {$yp == -1} { set xh [string range $x 0 $xp-1] - return [my __value_compare $xh $y 1] + return [:__value_compare $xh $y 1] } else { set xh [string range $x 0 $xp] set yh [string range $y 0 $yp] @@ -161,14 +160,14 @@ incr xp incr yp #puts "rest [string range $x $xp end] [string range $y $yp end]" - return [my __value_compare [string range $x $xp end] [string range $y $yp end] $def] + return [:__value_compare [string range $x $xp end] [string range $y $yp end] $def] } } } Class create OrderedComposite::MethodCompare OrderedComposite::MethodCompare instproc __compare {a b} { - set by [my set __orderby] + set by ${:__orderby} set x [$a $by] set y [$b $by] if {$x < $y} { Index: openacs-4/packages/xotcl-core/tcl/context-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/context-procs.tcl,v diff -u -N -r1.66 -r1.67 --- openacs-4/packages/xotcl-core/tcl/context-procs.tcl 7 Aug 2017 23:48:30 -0000 1.66 +++ openacs-4/packages/xotcl-core/tcl/context-procs.tcl 1 Oct 2017 11:57:04 -0000 1.67 @@ -31,25 +31,24 @@ # for "Package initialize ...."; however, we do not allow currently # do switch user or package id etc., just the parameter declaration Context instproc initialize {{-parameter ""}} { - my set parameter_declaration $parameter + set :parameter_declaration $parameter } Context instproc process_query_parameter { {-all_from_query:boolean true} {-all_from_caller:boolean true} {-caller_parameters} } { - my instvar queryparm actual_query - my proc __parse [my parameter_declaration] { - foreach v [info vars] { uplevel [list set queryparm($v) [set $v]]} + :proc __parse [:parameter_declaration] { + foreach v [info vars] { uplevel [list set :queryparm($v) [set $v]]} } - foreach v [my parameter_declaration] { + foreach v [:parameter_declaration] { set ([lindex [split [lindex $v 0] :] 0]) 1 } - if {$actual_query eq " "} { + if {${:actual_query} eq " "} { if {[ns_conn isconnected]} { - set actual_query [ns_conn query] + set :actual_query [ns_conn query] } #my log "--CONN ns_conn query = <$actual_query>" } @@ -58,8 +57,8 @@ if {$::xo::naviserver} {lappend decodeCmd --} # get the query parameters (from the url) - #my log "--P processing actual query $actual_query" - foreach querypart [split $actual_query &] { + #my log "--P processing actual query ${:actual_query}" + foreach querypart [split ${:actual_query} &] { set name_value_pair [split $querypart =] set att_name [{*}$decodeCmd [lindex $name_value_pair 0]] if {$att_name eq ""} continue @@ -71,19 +70,19 @@ if {[info exists (-$att_name)]} { lappend passed_args(-$att_name) $att_value } elseif {$all_from_query} { - set queryparm($att_name) $att_value + set :queryparm($att_name) $att_value } } # get the query parameters (from the form if necessary) - if {[my istype ::xo::ConnectionContext]} { + if {[:istype ::xo::ConnectionContext]} { foreach param [array names ""] { #my log "--cc check $param [info exists passed_args($param)]" set name [string range $param 1 end] if {![info exists passed_args($param)] && - [my exists_form_parameter $name]} { - #my log "--cc adding passed_args(-$name) [my form_parameter $name]" - set passed_args($param) [my form_parameter $name] + [:exists_form_parameter $name]} { + #my log "--cc adding passed_args(-$name) [:form_parameter $name]" + set passed_args($param) [:form_parameter $name] } } } @@ -97,7 +96,7 @@ if {[info exists ($param)]} { set passed_args($param) $caller_param($param) } elseif {$all_from_caller} { - set queryparm([string range $param 1 end]) $caller_param($param) + set :queryparm([string range $param 1 end]) $caller_param($param) } } } @@ -112,46 +111,43 @@ ad_return_complaint 1 [ns_quotehtml $errorMsg] ad_script_abort } - #my msg "--cc qp [array get queryparm] // $actual_query" + #my msg "--cc qp [array get :queryparm] // ${:actual_query}" } Context instproc original_url_and_query args { if {[llength $args] == 1} { - my set original_url_and_query [lindex $args 0] - } elseif {[my exists original_url_and_query]} { - return [my set original_url_and_query] + set :original_url_and_query [lindex $args 0] + } elseif {[info exists :original_url_and_query]} { + return ${:original_url_and_query} } else { - return [my url]?[my actual_query] + return ${:url}?${:actual_query} } } Context instproc query_parameter {name {default ""}} { - my instvar queryparm - if {[info exists queryparm($name)]} { - return $queryparm($name) + if {[info exists :queryparm($name)]} { + return [set :queryparm($name)] } return $default } Context instproc exists_query_parameter {name} { - #my log "--qp my exists $name => [my exists queryparm($name)]" - my exists queryparm($name) + #my log "--qp :exists $name => [info exists :queryparm($name)]" + info exists :queryparm($name) } Context instproc get_all_query_parameter {} { - return [my array get queryparm] + return [array get :queryparm] } Context ad_instproc export_vars {{-level 1}} { Export the query variables @param level target level } { - my instvar queryparm package_id - - foreach p [my array names queryparm] { + foreach p [array names :queryparm] { regsub -all : $p _ varName - uplevel $level [list set $varName [my set queryparm($p)]] + uplevel $level [list set $varName [set :queryparm($p)]] } - uplevel $level [list set package_id $package_id] + uplevel $level [list set package_id ${:package_id}] #::xo::show_stack } @@ -162,22 +158,22 @@ the values from the url (second priority) and the default values from the signature } { - set source [expr {[my exists __caller_parameters] ? - [self] : [my info parent]}] + set source [expr {[info exists :__caller_parameters] ? + [self] : [:info parent]}] $source instvar __caller_parameters - if {![my exists __including_page]} { + if {![info exists :__including_page]} { # a includelet is called from the toplevel. the actual_query might # be cached, so we reset it here. - my actual_query [::xo::cc actual_query] + set :actual_query [::xo::cc actual_query] } if {[info exists __caller_parameters]} { - my process_query_parameter -all_from_query false -caller_parameters $__caller_parameters + :process_query_parameter -all_from_query false -caller_parameters $__caller_parameters } else { - my process_query_parameter -all_from_query false + :process_query_parameter -all_from_query false } - my export_vars -level 2 + :export_vars -level 2 } @@ -227,7 +223,7 @@ {-actual_query " "} {-keep_cc false} } { - set exists_cc [my isobject ::xo::cc] + set exists_cc [:isobject ::xo::cc] # if we have a connection context and we want to keep it, do # nothing and return. @@ -243,7 +239,7 @@ #my log "--CONN ns_conn url" set url [ns_conn url] } - set package_id [my require_package_id_from_url -package_id $package_id $url] + set package_id [:require_package_id_from_url -package_id $package_id $url] #my log "--i [self args] URL='$url', pkg=$package_id" # get locale; TODO at some time, we should get rid of the ad_conn init problem @@ -258,7 +254,7 @@ set locale [lang::system::locale -package_id $package_id] } if {!$exists_cc} { - my create ::xo::cc \ + :create ::xo::cc \ -package_id $package_id \ [list -parameter_declaration $parameter] \ -user_id $user_id \ @@ -297,23 +293,23 @@ } } ConnectionContext instproc lang {} { - return [string range [my locale] 0 1] + return [string range [:locale] 0 1] } ConnectionContext instproc set_user_id {user_id} { if {$user_id == -1} { ;# not specified if {[info exists ::ad_conn(user_id)]} { - my set user_id [ad_conn user_id] - if {[catch {my set untrusted_user_id [ad_conn untrusted_user_id]}]} { - my set untrusted_user_id [my user_id] + set :user_id [ad_conn user_id] + if {[catch {set :untrusted_user_id [ad_conn untrusted_user_id]}]} { + set :untrusted_user_id [:user_id] } } else { - my set user_id 0 - my set untrusted_user_id 0 + set :user_id 0 + set :untrusted_user_id 0 array set ::ad_conn [list user_id $user_id untrusted_user_id $user_id session_id ""] } } else { - my set user_id $user_id - my set untrusted_user_id $user_id + set :user_id $user_id + set :untrusted_user_id $user_id if {![info exists ::ad_conn(user_id)]} { array set ::ad_conn [list user_id $user_id untrusted_user_id $user_id session_id ""] } @@ -326,76 +322,75 @@ # cookie was expired. If no untrusted_user_id exists Otherwise # (maybe in a remoting setup), return the user_id. # - if {[my exists untrusted_user_id]} { - return [my set untrusted_user_id] + if {[info exists :untrusted_user_id]} { + return ${:untrusted_user_id} } - return [my user_id] + return [:user_id] } ConnectionContext instproc returnredirect {-allow_complete_url:switch url} { #my log "--rp" - my set __continuation [expr {$allow_complete_url + set :__continuation [expr {$allow_complete_url ? [list ad_returnredirect -allow_complete_url $url] : [list ad_returnredirect $url]}] return "" } ConnectionContext instproc init {} { - my instvar requestor user user_id - my set_user_id $user_id + :set_user_id ${:user_id} set pa [expr {[ns_conn isconnected] ? [ad_conn peeraddr] : "nowhere"}] - if {[my user_id] != 0} { - set requestor $user_id + if {${:user_id} != 0} { + set :requestor ${:user_id} } else { # for requests bypassing the ordinary connection setup (resources in oacs 5.2+) # we have to get the user_id by ourselves if { [catch { set cookie_list [ad_get_signed_cookie_with_expr "ad_session_id"] set cookie_data [split [lindex $cookie_list 0] {,}] set untrusted_user_id [lindex $cookie_data 1] - set requestor $untrusted_user_id + set :requestor $untrusted_user_id } errmsg] } { - set requestor 0 + set :requestor 0 } } # if user not authorized, use peer address as requestor key - if {$requestor == 0} { - set requestor $pa + if {${:requestor} == 0} { + set :requestor $pa set user "client from $pa" } else { - set user_url [acs_community_member_admin_url -user_id $requestor] - set user "$requestor" + set user_url [acs_community_member_admin_url -user_id ${:requestor}] + set user "${:requestor}" } - #my log "--i requestor = $requestor" + #my log "--i requestor = ${:requestor}" - my process_query_parameter + :process_query_parameter } ConnectionContext instproc cache {cmd} { - set key cache($cmd) - if {![my exists $key]} {my set $key [my uplevel $cmd]} - return [my set $key] + set key :cache($cmd) + if {![info exists $key]} {set $key [:uplevel $cmd]} + return [set $key] } ConnectionContext instproc cache_exists {cmd} { - return [my exists cache($cmd)] + return [info exists :cache($cmd)] } ConnectionContext instproc cache_get {cmd} { - return [my set cache($cmd)] + return [set :cache($cmd)] } ConnectionContext instproc cache_set {cmd value} { - return [my set cache($cmd) $value] + return [set :cache($cmd) $value] } ConnectionContext instproc cache_unset {cmd} { - return [my unset cache($cmd)] + return [unset :cache($cmd)] } ConnectionContext instproc role=all {-user_id:required -package_id} { return 1 } ConnectionContext instproc role=swa {-user_id:required -package_id} { - return [my cache [list acs_user::site_wide_admin_p -user_id $user_id]] + return [:cache [list acs_user::site_wide_admin_p -user_id $user_id]] } ConnectionContext instproc role=registered_user {-user_id:required -package_id} { return [expr {$user_id != 0}] @@ -404,24 +399,24 @@ return [expr {$user_id == 0}] } ConnectionContext instproc role=admin {-user_id:required -package_id:required} { - return [my permission -object_id $package_id -privilege admin -party_id $user_id] + return [:permission -object_id $package_id -privilege admin -party_id $user_id] } ConnectionContext instproc role=creator {-user_id:required -package_id -object:required} { $object instvar creation_user return [expr {$creation_user == $user_id}] } ConnectionContext instproc role=app_group_member {-user_id:required -package_id} { - return [my cache [list application_group::contains_party_p \ - -party_id $user_id \ - -package_id $package_id]] + return [:cache [list application_group::contains_party_p \ + -party_id $user_id \ + -package_id $package_id]] } ConnectionContext instproc role=community_member {-user_id:required -package_id} { if {[info commands ::dotlrn_community::get_community_id] ne ""} { - set community_id [my cache [list [dotlrn_community::get_community_id -package_id $package_id]]] + set community_id [:cache [list [dotlrn_community::get_community_id -package_id $package_id]]] if {$community_id ne ""} { - return [my cache [list dotlrn::user_is_community_member_p \ - -user_id $user_id \ - -community_id $community_id]] + return [:cache [list dotlrn::user_is_community_member_p \ + -user_id $user_id \ + -community_id $community_id]] } } return 0 @@ -432,18 +427,18 @@ session through caching in the connection context } { if {![info exists party_id]} { - set party_id [my user_id] + set party_id ${:user_id} } - # my log "-- context permission user_id=$party_id uid=[::xo::cc user_id] untrusted=[::xo::cc set untrusted_user_id]" + # :log "-- context permission user_id=$party_id uid=[::xo::cc user_id] untrusted=[::xo::cc set untrusted_user_id]" if {$party_id == 0} { - set key permission($object_id,$privilege,$party_id) - if {[my exists $key]} {return [my set $key]} + set key :permission($object_id,$privilege,$party_id) + if {[info exists $key]} {return [set $key]} set granted [permission::permission_p -no_login -party_id $party_id \ -object_id $object_id \ -privilege $privilege] - #my msg "--p lookup $key ==> $granted uid=[my user_id] uuid=[my set untrusted_user_id]" - if {$granted || [my user_id] == [my set untrusted_user_id]} { - my set $key $granted + #my msg "--p lookup $key ==> $granted uid=[:user_id] uuid=${:untrusted_user_id}" + if {$granted || ${:user_id} == ${:untrusted_user_id}} { + set $key $granted return $granted } # The permission is not granted for the public. @@ -453,19 +448,19 @@ return 0 } - set key permission($object_id,$privilege,$party_id) - if {[my exists $key]} {return [my set $key]} + set key :permission($object_id,$privilege,$party_id) + if {[info exists $key]} {return [set $key]} #my msg "--p lookup $key" - my set $key [permission::permission_p -no_login \ - -party_id $party_id \ - -object_id $object_id \ - -privilege $privilege] - #my log "-- context return [my set $key]" - #my set $key + set $key [permission::permission_p -no_login \ + -party_id $party_id \ + -object_id $object_id \ + -privilege $privilege] + #my log "-- context return [set :$key]" + #set :$key } # ConnectionContext instproc destroy {} { - # my log "--i destroy [my url]" + # :log "--i destroy [:url]" # #::xo::show_stack # next # } @@ -475,69 +470,66 @@ # For some unknown reasons, Safari 3.* returns sometimes # entries with empty names... We ignore these for now if {$att eq ""} continue - if {[my exists form_parameter($att)]} { - my set form_parameter_multiple($att) 1 + if {[info exists :form_parameter($att)]} { + set :form_parameter_multiple($att) 1 } - my lappend form_parameter($att) $value + lappend :form_parameter($att) $value } } ConnectionContext instproc load_form_parameter {} { if {[ns_conn isconnected] && [ns_conn method] eq "POST"} { - my load_form_parameter_from_values [ns_set array [ns_getform]] + :load_form_parameter_from_values [ns_set array [ns_getform]] } else { - my array set form_parameter {} + array set :form_parameter {} } } ConnectionContext instproc form_parameter {name {default ""}} { - my instvar form_parameter form_parameter_multiple - if {![info exists form_parameter]} { - my load_form_parameter + if {![info exists :form_parameter]} { + :load_form_parameter } - if {[info exists form_parameter($name)]} { - if {[info exists form_parameter_multiple($name)]} { - return $form_parameter($name) + if {[info exists :form_parameter($name)]} { + if {[info exists :form_parameter_multiple($name)]} { + return [set :form_parameter($name)] } else { - return [lindex $form_parameter($name) 0] + return [lindex [set :form_parameter($name)] 0] } } else { return $default } } ConnectionContext instproc exists_form_parameter {name} { - my instvar form_parameter - if {![info exists form_parameter]} { - my load_form_parameter + if {![info exists :form_parameter]} { + :load_form_parameter } - my exists form_parameter($name) + info exists :form_parameter($name) } ConnectionContext instproc get_all_form_parameter {} { - return [my array get form_parameter] + return [array get :form_parameter] } # # Version of query_parameter respecting set-parameter # ConnectionContext instproc query_parameter {name {default ""}} { - if {[my exists_parameter $name]} { - return [my get_parameter $name] + if {[:exists_parameter $name]} { + return [:get_parameter $name] } next } ConnectionContext instproc set_parameter {name value} { set key [list get_parameter $name] - if {[my cache_exists $key]} {my cache_unset $key} - my set perconnectionparam($name) $value + if {[:cache_exists $key]} {my cache_unset $key} + set :perconnectionparam($name) $value } ConnectionContext instproc get_parameter {name {default ""}} { - my instvar perconnectionparam - return [expr {[info exists perconnectionparam($name)] ? $perconnectionparam($name) : $default}] + return [expr {[info exists :perconnectionparam($name)] ? [set :perconnectionparam($name)] : $default}] } ConnectionContext instproc exists_parameter {name} { - my exists perconnectionparam($name) + info exists :perconnectionparam($name) } }