TIP #323: Do Nothing Gracefully

TIP #323: Do Nothing Gracefully , by Colin McCormack, Donald Porter, and Kevin Kenny, and implemented in Tcl version 8.6, provides the rationale for commands that do nothing under certain circumstances.


With the advent of the {*} operator which expands an empty list into nothing at all, it became clear that it would be useful in various cases if commands that normally accept variable number of arguments at the end of the command could handle the case of no arguments at all being passed.
The TIP modified the following commands:

file delete
Accept zero pathnames.
file mkdir
Accept zero directories.
Accept zero variable names.
Accept zero patterns and return a no matches error, or when -nocomplain is provided, return a list of zero matching files.
Accept zero variable names [L1 ].
Accpet zero elements [L2 ].
Accept both a number of 0, and zero elements [L3 ].
my variable
Accept zero variable names.
namespace upvar
Accept zero variable names
::tcl::tm::path add
Accept zero paths.
Accept zero paths.
Accept zero variable names [L4 ].