Index: validate.tcl ================================================================== --- validate.tcl +++ validate.tcl @@ -56,12 +56,12 @@ namespace ensemble create namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-enum } -proc ::cmdr::validate::boolean::release {p x} { return } -proc ::cmdr::validate::boolean::default {p} { +proc ::cmdr::validate::boolean::release {p x {undo 0}} { return } +proc ::cmdr::validate::boolean::default {p} { debug.cmdr/validate {} return no } proc ::cmdr::validate::boolean::complete {p x} { @@ -85,12 +85,12 @@ namespace export default validate complete release namespace ensemble create namespace import ::cmdr::validate::common::fail } -proc ::cmdr::validate::integer::release {p x} { return } -proc ::cmdr::validate::integer::default {p} { +proc ::cmdr::validate::integer::release {p x {undo 0}} { return } +proc ::cmdr::validate::integer::default {p} { debug.cmdr/validate {} return 0 } proc ::cmdr::validate::integer::complete {p x} { debug.cmdr/validate {} 10 @@ -115,12 +115,12 @@ namespace export default validate complete release namespace ensemble create namespace import ::cmdr::validate::common::fail } -proc ::cmdr::validate::double::release {p x} { return } -proc ::cmdr::validate::double::default {p} { +proc ::cmdr::validate::double::release {p x {undo 0}} { return } +proc ::cmdr::validate::double::default {p} { debug.cmdr/validate {} return 0 } proc ::cmdr::validate::double::complete {p x} { debug.cmdr/validate {} 10 @@ -139,12 +139,12 @@ namespace export default validate complete release namespace ensemble create namespace import ::cmdr::validate::common::fail } -proc ::cmdr::validate::percent::release {p x} { return } -proc ::cmdr::validate::percent::default {p} { +proc ::cmdr::validate::percent::release {p x {undo 0}} { return } +proc ::cmdr::validate::percent::default {p} { debug.cmdr/validate {} return 0 } proc ::cmdr::validate::percent::complete {p x} { debug.cmdr/validate {} 10 @@ -164,11 +164,11 @@ namespace eval ::cmdr::validate::identity { namespace export default validate complete release namespace ensemble create } -proc ::cmdr::validate::identity::release {p x} { return } +proc ::cmdr::validate::identity::release {p x {undo 0}} { return } proc ::cmdr::validate::identity::default {p} { debug.cmdr/validate {} ; return {} } proc ::cmdr::validate::identity::complete {p x} { debug.cmdr/validate {} 10 ; return {} } proc ::cmdr::validate::identity::validate {p x} { debug.cmdr/validate {} ; return $x } # # ## ### ##### ######## ############# ##################### @@ -177,11 +177,11 @@ namespace eval ::cmdr::validate::pass { namespace export default validate complete release namespace ensemble create } -proc ::cmdr::validate::pass::release {p x} { return } +proc ::cmdr::validate::pass::release {p x {undo 0}} { return } proc ::cmdr::validate::pass::default {p} {debug.cmdr/validate {} ; return {} } proc ::cmdr::validate::pass::complete {p x} {debug.cmdr/validate {} 10 ; return {} } proc ::cmdr::validate::pass::validate {p x} {debug.cmdr/validate {} ; return $x } # # ## ### ##### ######## ############# ##################### @@ -190,11 +190,11 @@ namespace eval ::cmdr::validate::str { namespace export default validate complete release namespace ensemble create } -proc ::cmdr::validate::str::release {p x} { return } +proc ::cmdr::validate::str::release {p x {undo 0}} { return } proc ::cmdr::validate::str::default {p} { debug.cmdr/validate {} ; return {} } proc ::cmdr::validate::str::complete {p x} { debug.cmdr/validate {} 10 ; return {} } proc ::cmdr::validate::str::validate {p x} { debug.cmdr/validate {} ; return $x } # # ## ### ##### ######## ############# ##################### @@ -205,11 +205,11 @@ namespace ensemble create namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob } -proc ::cmdr::validate::rfile::release {p x} { return } +proc ::cmdr::validate::rfile::release {p x {undo 0}} { return } proc ::cmdr::validate::rfile::default {p} { return {} } proc ::cmdr::validate::rfile::complete {p x} { debug.cmdr/validate {} 10 complete-glob ::cmdr::validate::rfile::Ok $x } @@ -235,11 +235,11 @@ namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob namespace import ::cmdr::validate::common::ok-directory } -proc ::cmdr::validate::wfile::release {p x} { return } +proc ::cmdr::validate::wfile::release {p x {undo 0}} { return } proc ::cmdr::validate::wfile::default {p} { return {} } proc ::cmdr::validate::wfile::complete {p x} { debug.cmdr/validate {} 10 complete-glob ::cmdr::validate::wfile::Ok $x } @@ -270,11 +270,11 @@ namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob namespace import ::cmdr::validate::common::ok-directory } -proc ::cmdr::validate::rwfile::release {p x} { return } +proc ::cmdr::validate::rwfile::release {p x {undo 0}} { return } proc ::cmdr::validate::rwfile::default {p} { return {} } proc ::cmdr::validate::rwfile::complete {p x} { debug.cmdr/validate {} 10 complete-glob ::cmdr::validate::rwfile::Ok $x } @@ -305,11 +305,11 @@ namespace ensemble create namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob } -proc ::cmdr::validate::rdirectory::release {p x} { return } +proc ::cmdr::validate::rdirectory::release {p x {undo 0}} { return } proc ::cmdr::validate::rdirectory::default {p} { return {} } proc ::cmdr::validate::rdirectory::complete {p x} { debug.cmdr/validate {} 10 complete-glob ::cmdr::validate::rdirectory::Ok $x } @@ -336,11 +336,11 @@ namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob namespace import ::cmdr::validate::common::ok-directory } -proc ::cmdr::validate::rwdirectory::release {p x} { return } +proc ::cmdr::validate::rwdirectory::release {p x {undo 0}} { return } proc ::cmdr::validate::rwdirectory::default {p} { return {} } proc ::cmdr::validate::rwdirectory::complete {p x} { debug.cmdr/validate {} 10 complete-glob ::cmdr::validate::rwdirectory::Ok $x } @@ -372,11 +372,11 @@ namespace ensemble create namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob } -proc ::cmdr::validate::rpath::release {p x} { return } +proc ::cmdr::validate::rpath::release {p x {undo 0}} { return } proc ::cmdr::validate::rpath::default {p} { return {} } proc ::cmdr::validate::rpath::complete {p x} { debug.cmdr/validate {} 10 complete-glob ::cmdr::validate::rpath::Ok $x } @@ -402,11 +402,11 @@ namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob namespace import ::cmdr::validate::common::ok-directory } -proc ::cmdr::validate::rwpath::release {p x} { return } +proc ::cmdr::validate::rwpath::release {p x {undo 0}} { return } proc ::cmdr::validate::rwpath::default {p} { return {} } proc ::cmdr::validate::rwpath::complete {p x} { debug.cmdr/validate {} 10 complete-glob ::cmdr::validate::rwpath::Ok $x } @@ -437,11 +437,11 @@ namespace ensemble create namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob } -proc ::cmdr::validate::rchan::release {p x} { +proc ::cmdr::validate::rchan::release {p x {undo 0}} { if {$x eq "stdin"} return close $x return } proc ::cmdr::validate::rchan::default {p} { return stdin } @@ -471,12 +471,13 @@ namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob namespace import ::cmdr::validate::common::ok-directory } -proc ::cmdr::validate::wchan::release {p x} { +proc ::cmdr::validate::wchan::release {p x {undo 0}} { if {$x eq "stdout"} return + if {$undo} { file delete [$p string] } close $x return } proc ::cmdr::validate::wchan::default {p} { return stdout } proc ::cmdr::validate::wchan::complete {p x} { @@ -510,11 +511,14 @@ namespace import ::cmdr::validate::common::fail namespace import ::cmdr::validate::common::complete-glob namespace import ::cmdr::validate::common::ok-directory } -proc ::cmdr::validate::rwchan::release {p x} { close $x } +proc ::cmdr::validate::rwchan::release {p x {undo 0}} { + if {$undo} { file delete [$p string] } + close $x +} proc ::cmdr::validate::rwchan::default {p} { return {} } proc ::cmdr::validate::rwchan::complete {p x} { debug.cmdr/validate {} 10 complete-glob ::cmdr::validate::rwchan::Ok $x } @@ -537,7 +541,7 @@ return 1 } # # ## ### ##### ######## ############# ##################### ## Ready -package provide cmdr::validate 1.3.1 +package provide cmdr::validate 1.4 return