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)
}
}