Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Different behaviour when interpreting a here-document between 5.3 and 5.5.1



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


Messages sorted by: Reverse Date, Date, Thread, Author