On Wed, Nov 28, 2018 at 10:40:05AM -0600, Eric Blake wrote:
> > Or is this an independent fix?
>
> Hard to say. Note that:
>
> printf %s "\015"
> printf %s "\\015"
>
> both output five bytes (single backslash, three digits, and a newline) -
> that's because in "", \ followed by an unknown character still outputs the \
> verbatim. So the tr process is not seeing any change to its arguments -
> `"\015"` and $("\015") are the same as `"\\\\015"` and $("\\015") (the
> former two relying on the character after \ not being special and therefore
> the \ being used literally, the latter two being fully escaped to ensure
> that a single literal \ results). But switching between non-special form
> and fully-escaped form is odd, and should be done independently if at all -
> in general, the conversion from `` to $() should only ever remove \ that
> were special to `` but not needed for $(), and not ever need to add \.Sorry. That was an independent fix that slipped into the patch. Ben
signature.asc
Description: PGP signature
