proc KeylPrint {keylist {space ""}} { # Pretty print key list upvar $keylist kl set result "" foreach key [keylkeys kl] { if {$key == ""} { continue } set value [keylget kl $key] if {[catch {keylkeys value}]} { append result "$space$key: $value\n" } else { set newspace "$space " append result "$space$key:\n[KeylPrint value $newspace]" } } return $result }