Version 18 of tclvars

Updated 2012-11-30 20:17:30 by pooryorick

http://www.purl.org/tcl/home/man/tcl8.5/TclCmd/tclvars.htm collects the formal reference info for tclvars...


see also Magic names

The variables tcl_wordchars and tcl_nonwordchars define what letters are treated as valid for words. The variables are auto-loaded along with the commands they control, such as tcl_endOfWord.

This means that to change the characters that are valid, you must first do something like:

        catch {tcl_endOfWord}

After this, you can then do something like:

    # We want the same behaviour on Windows as on Unix for double-clicking
    set tcl_wordchars {[a-zA-Z0-9_]}
    set tcl_nonwordchars {[^a-zA-Z0-9_]}

MG The defaults for Unix (or rather, non-Windows), according to the docs for Tcl 8.4.9, are actually \w and \W (with \s and \S on Windows), which might differ from the above due to locale. Personally, I tend to use

  set tcl_wordchars {[a-zA-Z0-9' ]}
  set tcl_nonwordchars {[^a-zA-Z0-9']}

for my apps on Windows - I tend to find that gives much more natural behaviour, particularly compared to other apps when you move the cursor a word at a time with Control-Left / Control-Right.

LV [add info on what routines actually use these variables]


  • argc - number of arguments the script was called with
  • argv - list arguments the script was called with

Unlike C, the argv does not include the name of the application itself among the argument list. For that, there is


There are also a number of special shell environment variables which can influence Tcl behavior. These include:


See also "Tcl syntax" and "magic names".