[Buildbot-devel] Removing the "lone pipe exception"

Роман Донченко dpb at corrigendum.ru
Tue Sep 23 19:51:27 UTC 2014


Hello all,

On Windows, if ShellCommand is used with a list of arguments, an argument  
consisting of a single pipe character will not be escaped, as per the  
documentation:

> On the topic of shell metacharacters, note that in DOS the pipe  
> character (|) is conditionally escaped (to ^|) when it occurs inside a  
> more complex string in a list of strings. It remains unescaped when it  
> occurs as part of a single string or as a lone pipe in a list of strings.

I'm not a fan of this behaviour, since it:

1) is inconsistent across OSes;
2) means that you can't pass an actual solitary pipe as an argument.

So I'd like to remove it - that is, make it so that a pipe is always  
escaped no matter what. It is a backwards-incompatible change, but I think  
for Nine it should be okay. Still, I'd like to receive developers'  
blessing (or at least a lack of cursing) before I make the change.

So what do you thinK?

Roman.





More information about the devel mailing list