Index: openacs-4/packages/xotcl-core/xotcl-core.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/xotcl-core.info,v diff -u -N -r1.106.2.32 -r1.106.2.33 --- openacs-4/packages/xotcl-core/xotcl-core.info 16 Sep 2021 08:27:34 -0000 1.106.2.32 +++ openacs-4/packages/xotcl-core/xotcl-core.info 16 Sep 2021 08:52:58 -0000 1.106.2.33 @@ -10,7 +10,7 @@ t xotcl - + Gustaf Neumann XOTcl library functionality (e.g. thread handling, online documentation, Generic Form and List Classes) 2021-09-16 @@ -42,7 +42,7 @@ BSD-Style 2 - + Index: openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl,v diff -u -N -r1.93.2.40 -r1.93.2.41 --- openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 29 Jul 2021 12:35:46 -0000 1.93.2.40 +++ openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 16 Sep 2021 08:52:58 -0000 1.93.2.41 @@ -75,7 +75,7 @@ return "dbqd.[:uplevel [list current class]]-[:uplevel [list current method]].$query_name" } # - # Allow the use of types "naturalnum" and "token" e.g. in + # Allow the use of types "naturalnum", "token", "localurl", "html", "nohtml" e.g. in # ::xowiki::Package initialize. # ::nx::Slot eval { @@ -116,7 +116,25 @@ return -code error "Value '$value' of parameter $name contains unsafe HTML." } } + :method type=range {name value arg} { + lassign [split $arg -] min max + if {$min eq ""} { + unset min + } + if {$max eq ""} { + unset max + } + if {[info exists min] && [info exists max] && + ($value < $min || $value > $max)} { + error "value '$value' of parameter $name not between $min and $max" + } elseif {[info exists min] && $value < $min} { + error "value '$value' of parameter $name must not be smaller than $min" + } elseif {[info exists max] && $value > $max} { + error "value '$value' of parameter $name must not be larger than $max" + } + return $value } + } ::xotcl::Object proc setExitHandler {code} {::nsf::exithandler set $code} ::xotcl::Object instproc set_instance_vars_defaults {} {:configure} @@ -134,6 +152,7 @@ ::nx::Slot method type=localurl ::nx::Slot method type=html ::nx::Slot method type=nohtml + ::nx::Slot method type=range ::nx::Object nsfproc ::nsf::debug::call ::nx::Object nsfproc ::nsf::debug::exit }