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

Re: '>>' does not create file if set -C (noclobber) is active



2015-06-25 00:30:47 -0700, Bart Schaefer:
> On Jun 25,  4:22am, Martijn Dekker wrote:
> } Subject: Re: '>>' does not create file if set -C (noclobber) is active
> }
> } > The noclobber option is an extension, and has nothing whatsoever to do
> } > with POSIX.
> } 
> } That is not correct.
> 
> Well, damn.  When did they do that?
> 
> As far as I know, this was first implemented in zsh and has worked as it
> does in zsh since around 1990 -- there is no mention of the -C option in
> the ksh88 manual, for example.  So I'm still inclined to say that this
> is just not going to change, because we'd either have to (1) change it in
> native mode or (2) do one of those hacks that tests the emulation mode
> so it only works if you actually start the shell that way or (3) add an
> entirely new setopt just for this.  I don't like any of those choices.

Though that's initially a csh feature (from the start: 1979),
AFAIK, noclobber has always been in ksh. But the -C alias may
have been added in ksh93 and retrofitted to ksh88. The ksh88a
(http://www.in-ulm.de/~mascheck/various/shells/ksh88-fixes)
release notes mention noclobber. The ksh93 release notes mention
adding -C as an alias for noclobber.

The original pdksh didn't have either. I don't know when they
were added.

It was added to bash in January 1990 but first as a variable.
1.12 (Dec 1991) had it as both set -C and set -o noclobber.

I suspect both were already in POSIX.2. It was added to ash in
4.4BSD-Alpha (1992):
http://www.in-ulm.de/~mascheck/various/ash/index.html#44bsdalpha

I don't think it was ever added to the Bourne shell though.

-- 
Stephane



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