
Another thing I noticed is the help for the withlist --run option says in part:
If additional arguments are given at the end of the command line, they are passed as subsequent positional arguments to the callable. For additional help, see --details.
The additional arguments are not actually passed as subsequent positional arguments to the callable. They are passed as a single positional argument which is a tuple of the additional arguments.
--details is correct in its example showing
def change(mlist, args): mlist.display_name = args[0]
but the --run description makes me think it should be
def change(mlist, name): mlist.display_name = name
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan