Thread (3 messages) flat view 3 messages, 3 authors, 2016-06-16

Re: [PATCH] t0008: 4 tests fail with ksh88

From: Armin Kunaschik <hidden>
Date: 2016-06-16 02:19:32

On Fri, May 20, 2016 at 5:16 PM, Junio C Hamano [off-list ref] wrote:
Armin Kunaschik [off-list ref] writes:
quoted
From: Armin Kunaschik <redacted>

\" in the test t0008 is not treated the same way in bash and in ksh.
Could you refrain from singling out "bash"?  We don't write for
"bash" specifically (and the test I ran are with "dash" before I
push things out).
I can name it "other shells" if this is more comfortable. But I tested
this only with bash and ksh88 on AIX.
Ideally, if you can try ksh93 and if you find out that ksh93 works,
then the above can be made in line with your "Subject" to mark ksh88
as broken (as opposed to other POSIX shells)?  That would help us by
reminding that running test fine with ksh93 is not a sufficient
check to make sure we didn't break ksh88 users.
quoted
In ksh the \ disappears and generates false expect data to
compare with.
Using \\" works portable, the same way in bash and in ksh and
is less ambigous.
All of the above would need s/ksh/&88/g; I'd think.  I just tried

        make SHELL_PATH=/bin/ksh93
        cd t && /bin/ksh93 t0008-*.sh

and this patch is not necessary for ksh93.
Yes, the patch is not necessary with ksh93 on AIX, but it works :-)
The patch is targeting "ksh" on AIX (which actually is a ksh88).

In the discussion Jeff took a look into the POSIX specification
and described the behavior like this:

<snip>
I think either is reasonable (there is no need to backslash-escape a
double-quote inside a here-doc, but one assumes that backslash would
generally have its usual behavior). I'm not quite sure how to interpret
POSIX here (see below), but it seems clear that spelling it with two
backslashes as you suggest is the best bet.
<snip>

I'd not declare ksh88 on AIX broken just because of this ambiguity
since it is not 100% clear in the POSIX description.

Armin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help