git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Armin Kunaschik <megabreit@googlemail.com>
Date
May 20, 2016, 16:11 UTC
Message-ID
<CALR6jEj=Nd6K8poP=G+n_5dZfAGaZLqmnOV0EuSJ9aE5LNniEQ@mail.gmail.com>
In-Reply-To
<xmqq37pchi90.fsf@gitster.mtv.corp.google.com>
On Fri, May 20, 2016 at 5:16 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 9 quoted lines
> Armin Kunaschik <megabreit@googlemail.com> writes:
>
>> From: Armin Kunaschik <megabreit@googlemail.com>
>>
>> \" 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.

Show 17 quoted lines
> 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.
>
>> 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
Previous: Christian CouderNext: Jeff King
Message 6 of 7 in “t0008: 4 tests fail with ksh88”
  1. t0008: 4 tests fail with ksh88Armin Kunaschik, May 20, 2016
  2. Junio C HamanoMay 20, 2016
  3. Junio C HamanoMay 20, 2016
  4. Armin KunaschikMay 20, 2016
  5. Christian CouderMay 20, 2016
  6. Armin KunaschikMay 20, 2016
  7. Jeff KingMay 22, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.