zsh-workers
 help / color / mirror / code / Atom feed
From: Stephane Chazelas <stephane.chazelas@gmail.com>
To: Bart Schaefer <schaefer@brasslantern.com>
Cc: zsh-workers@zsh.org
Subject: Re: <(<<<x) vs =(<<<x)
Date: Fri, 21 Dec 2012 15:51:14 +0000	[thread overview]
Message-ID: <20121221155113.GA10240@chaz.gmail.com> (raw)
In-Reply-To: <121220212540.ZM30945@torch.brasslantern.com>

2012-12-20 21:25:40 -0800, Bart Schaefer:
> On Dec 21,  2:52am, Stephane Chazelas wrote:
> }
> } ~$ od -tc < <(<<<a)
> } 0000000   a  \n
> } 0000002
> } 
> } ~$ od -tc < =(<<<a)
> } 0000000   a
> } 0000001
> } 
> } Why the difference?
> 
> This appears to be a side-effect of =(<<<a) being optimized for no forking
> in a manner similar to the optimization for $(<file).  The subshell spawned
> to be able to read <(<<<a) as a pipe is appending the newline.
> 
> I don't know which variation ought to be considered "correct" ...

rc's <<< didn't append that trailing newline. zsh does in every
place but =(<<<xxx) AFAICT, and so do bash and ksh93 (I suppose
they just copied zsh there), so I suppose the only sensible
thing to do now is to add it every time to be consistent as we
can't really go back and don't include it every time.

On the other hand, that would mean that we wouldn't have an
optimized way to write =(echo -n foo) any longer (probably not
too much of an issue since it's quite uncommon to have a file
without a trailing newline)

-- 
Stephane


      reply	other threads:[~2012-12-21 15:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-21  2:52 Stephane Chazelas
2012-12-21  5:25 ` Bart Schaefer
2012-12-21 15:51   ` Stephane Chazelas [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121221155113.GA10240@chaz.gmail.com \
    --to=stephane.chazelas@gmail.com \
    --cc=schaefer@brasslantern.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).