In my Linux Mint, Tcl/Tk 8.6.1 is pre-installed, and Iʼm not willed to install manually a newer version. But, Iʼd like to have string cat subcommand. This happens on try:
% info patchlevel 8.6.1 % string cat a b c unknown or ambiguous subcommand "cat": must be bytelength, compare, (... cut off) %
The string command is made by namespace ensemble so I add this sub-command if not yet existing:
if {[info command ::tcl::string::cat] eq ""} then {
proc ::tcl::string::cat args {::join $args ""}
apply {
map {
dict set map cat ::tcl::string::cat
namespace ensemble configure string -map $map
}
} [namespace ensemble configure string -map]
}From now on it woks on my Tcl installation.
% string cat a b c abc %
Done.
AMG: See also ensemble extend for more information on adding commands to an ensemble.