On 2/14/18 10:44 PM, Harald van Dijk wrote:
On 2/14/18 9:03 PM, Harald van Dijk wrote:
On 13/02/2018 14:53, Denys Vlasenko wrote:
$ >'\zzzz'
$ >'\wwww'
$ dash -c 'echo "\*"'
\wwww \zzzz
[...]
Currently:
$ dash -c 'foo=a; echo "<${foo#[a\]]}>"'
<>
This is what I expect, and also what bash, ksh and posh do.
With your patch:
$ dash -c 'foo=a; echo "<${foo#[a\]]}>"'
<a>
Does the attached look right as an alternative? It treats a quoted
backslash the same way as if it were preceded by CTLESC in _rmescapes.
It passes your test case and mine, but I'll do more extensive testing.
It causes preglob's string to potentially grow larger than the original.
When called with RMESCAPE_ALLOC, that can be handled by increasing the
buffer size, but preglob also gets called without RMESCAPE_ALLOC to
modify a string in-place. That's never going to work with this approach.
Back to the drawing board...
Cheers,
Harald van Dijk
--
To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html