My apologies. I didn't really have exactly these changes in mind, although I had an idea of how I thought it should behave - and I guess I failed to communicate even that. I also confused myself and thought that comma was our param separator (when space was always the separator). It wasn't until I'll had a good play with the code (and trying to add a varargs command) that I came up with these changes. The unescape/join varargs code was also something I completely missed in the code review too.