| C Symbol | Name |
|---|---|
| tclByteArrayType | "bytearray" |
| tclByteCodeType | "bytecode" |
| tclDictType | "dict" |
| tclIndexType | "index" |
| tclListType | "list" |
| tclNsNameType | "nsName" |
| tclEnsembleCmdType | "ensembleCommand" |
| tclBooleanType | "boolean" |
| tclDoubleType | "double" |
| tclIntType | "int" |
| tclWideIntType | "wideInt" |
| tclCmdNameType | "cmdName" |
| tclFsPathType | "path" |
| tclProcBodyType | "procbody" |
| tclRegexpType | "regexp" |
| tclStringType | "string" |
| tclLocalVarNameType | "localVarName" |
| tclNsVarNameType | "namespaceVarName" |
| tclParsedVarNameType | "parsedVarName" |
The following is the script used to get the list. Please report any bug of the script, or additional types defined in well known Tcl extensions!
set files [glob {/home/antirez/SVC/tcltk/CVS/tcl/generic/*.[ch]}]
append re {Tcl_ObjType\s+([A-z]+?)\s+=\s+}
append re \{
append re {\s+"([A-z]+?)"}
foreach f $files {
set fd [open $f]
set text [read $fd]
close $fd
set types [regexp -all -inline $re $text]
foreach {- cname name} $types {
puts [format "%-20.20s \"%s\"" $cname $name]
}
}DKF: Don't forget to list the types defined by Tk as well. And you might want to check for platform-specific types too.