Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Different behaviour when interpreting a here-document between 5.3 and 5.5.1
- X-seq: zsh-users 23359
- From: Enrico Maria Crisostomo <enrico.m.crisostomo@xxxxxxxxx>
- To: zsh-users@xxxxxxx
- Subject: Re: Different behaviour when interpreting a here-document between 5.3 and 5.5.1
- Date: Sat, 21 Apr 2018 00:04:56 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:content-transfer-encoding:mime-version:subject:date:references :to:in-reply-to:message-id; bh=NFGgJHofPWQLzyKNMlujBQq1sS51O68TymwLlgjCUyk=; b=I45bbgFF2EHzf0cj9zJcTNDvEv2EvD5tbZMPhioeUxdoZebbmA9uLg6DpfUTd1wGZ3 qIc7wbjCkkv4YLDJv1xUMS1KddOrhc6ix8xLt/jIQH6k7CcMmrsxzr3dikhO7UpyOdLY qf9v0xkCXaTIf3y0vjzsL6XFa2H9/pLmmKYQsrg4+mFhty8gQvEaU3zTDebi3hkk3LBo ywnWf0Rggf8OYK2ZGeRVfP4uf4Tmnghn3ux84XQKEZUBaRIy8FC4+mAs7Vq2eKAzojb/ jLAw+ZX9/gGodU+AIdHiEY5x2nmjEJHcyli6KH9PXqwZkG7AaBJY6F/s975m7Zmgavae /QEA==
- In-reply-to: <E1DC38CD-F8BD-4128-8808-261D260462F7@gmail.com>
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- List-unsubscribe: <mailto:zsh-users-unsubscribe@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <E1DC38CD-F8BD-4128-8808-261D260462F7@gmail.com>
> On 19 Apr 2018, at 23:52, Enrico Maria Crisostomo <enrico.m.crisostomo@xxxxxxxxx> wrote:
>
> Hi,
>
> I'm struggling with an apparently simple problem. A script of mine has a function that writes a here-document whose lines end with a backslash. The script has been working fine until zsh has been updated recently.
>
> The relevant part of the code is the following
>
> mp_calculate_checksums()
> {
> cat <<EOF
> checksums rmd160 ${CHECKSUM_RMD160} \\
> sha256 ${CHECKSUM_SHA256} \\
> size ${CHECKSUM_SIZE}
> EOF
> }
>
> The expected output is something like:
>
> checksums rmd160 281d97a37125fca07ff81a72ac337f6a23f5d2b0 \
> sha256 233cd8724fd95e10b82ed62c692e7e79cca9114b49be834e65cd05b529d8ba70 \
> size 31
>
> When running the same script on 5.5.1, I get a single line of output, as if the last backslash of \\ were escaping the newline.
>
> checksums rmd160 281d97a37125fca07ff81a72ac337f6a23f5d2b0 \ sha256 233cd8724fd95e10b82ed62c692e7e79cca9114b49be834e65cd05b529d8ba70 \ size 31
>
> I haven't been able to troubleshoot it so far, and the zsh documentation seems to imply that the correct behaviour is the former, not the latter.
>
> Thanks in advance for you help,
> --
> Enrico
Thanks for your answer, Bart. Apologies for manually quoting it, but I haven't received a mail from the mailing list, so I can't reply:
> Yeah, this is commit 47aa6095 aka workers/42355. It's recognizing
> backslash-newline but not whether the backslash is itself escaped.
>
> The NEWS file should have mentioned the change to here-documents, I
> think. However, not catching the double backslash is a bug. However,
> part 2, figuring this out requires scanning backwards to see if you
> have an even or odd number of trailing backlashes, or scanning forward
> and tokenizing while consuming the document. Bleah.
Should I file a bug report, write to zsh-workers, or do something else? Or may I consider that your answering the mail is equivalent to a bug having been open?
Thanks,
--
Enrico
Messages sorted by:
Reverse Date,
Date,
Thread,
Author