zsh-workers
 help / color / mirror / code / Atom feed
From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: Zefram <A.Main@dcs.warwick.ac.uk>
Cc: hzoli@cs.elte.hu, zsh-workers@math.gatech.edu
Subject: Re: zsh-3.0-pre4 released
Date: Sat, 27 Jul 1996 12:26:28 -0700	[thread overview]
Message-ID: <960727122628.ZM26296@candle.brasslantern.com> (raw)
In-Reply-To: Zefram <A.Main@dcs.warwick.ac.uk> "Re: zsh-3.0-pre4 released" (Jul 27,  6:03pm)

On Jul 27,  6:03pm, Zefram wrote:
} Subject: Re: zsh-3.0-pre4 released
}
} >Actually, I'd say the biggest change is "setopt nofoo" == "unsetopt foo".
} >Which I still think should have been left out until some post-3.0 version.
} 
} Why?  It breaks nothing except for scripts that try to detect options
} being set by doing `setopt | grep foo`, which is broken anyway.

It also breaks the setopt/unsetopt wrapper functions I sent a few days ago,
but I don't consider that important.

What I do consider important is the confusion from the introduction of a
large number of new options -- which is what it looks like to anyone who
simply glances at the output of "setopt"; and which it is, syntactically
at least, although less so semantically.

Further, although I'm extremely happy about the attention that was paid
to backwards compatibility, I can only repeat how uncomfortable I am
about options that end up named BAD_PATTERN, EQUALS, EXEC, HUP, RCS, and
UNSET.  What does "setopt unset" look like to you?  Why shouldn't "nohup"
parallel the command prefix of the same name?  Even BEEP is a bit vexing.
At least with the NO_ prefix, you could tell that there is some expected
behavior that is being modified.

It's my opinion that, with the exception of options that reflect shell
state (such as "interactive" and "shinstdin"), the baseline expected
behavior of the shell should be the behavior with all options UNset.
That's why they're called "options" after all; because they introduce
optional behavior, different from the baseline.

Please note that I don't object much to the "setopt no..." == "unsetopt"
behavior.  It's the renaming of a number of the NO_ options that bothers
me.  I'd be perfectly happy to have "setopt NO_NO_RCS" be a valid way to
"unsetopt NO_RCS", but I don't want to "setopt RCS", and I don't like to
have "rcs" showing up in my setopt output.

BTW, while I'm on the subject, I'd like to throw in my vote for changing
SH_FILE_EXPN to KSH_FILE_EXPANSION.  Besides being, as Zefram pointed out,
more a ksh than sh thing, spelling out the "expansion" is no longer than
ALWAYS_LAST_PROMPT, and I think we should avoid unnecessary abbreviations.
("What does the Revision Control System have to do with my init files?")

} The general idea is that we have a list of fixed option `aliases',
} which provide alternative names for certain options.  The list itself
} would look something like
} 
}     {"ignorebraces", -BRACES},
}     {"trackall", HASHCMDS},
} 
} The "trackall" entry provides a ksh name for the equivalent zsh
} option.  The "ignorebraces" entry provides backward compatibility, in
} the hypothetical situation that we decide that "braces" is a better
} name.  I wouldn't make that type of change when adding the mechanism,
} but would only do some ksh compatibility names.

Now THIS I could support, because it would permit us to rename some of
the options without losing backwards compatibility and without having
to invert their default boolean sense.  I'd vote for renaming at least
these six:

braceccl            (what's a CCL, anyway?)
histnostore
nobadpattern
nobanghist
norcs               (IGNORE_RC_FILES, perhaps?)
nounset             (NULL_UNSET, ala NULL_GLOB?)

-- 
Bart Schaefer                             Brass Lantern Enterprises
http://www.well.com/user/barts            http://www.nbn.com/people/lantern

New male in /home/schaefer:
>N  2 Justin William Schaefer  Sat May 11 03:43  53/4040  "Happy Birthday"



  reply	other threads:[~1996-07-27 19:47 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <199607270206.EAA04563@hzoli.ppp.cs.elte.hu>
1996-07-27  4:30 ` Bart Schaefer
1996-07-27 15:55   ` Zoltan Hidvegi
1996-07-27 18:35     ` Bart Schaefer
1996-07-27 22:06       ` Zoltan Hidvegi
1996-07-27  4:57 ` Bart Schaefer
1996-07-27 17:03   ` Zefram
1996-07-27 19:26     ` Bart Schaefer [this message]
1996-07-27 20:02       ` Zefram
1996-07-27 20:38         ` Bart Schaefer
1996-07-27 22:27   ` Zoltan Hidvegi
1996-07-30  2:22 ` Clive Messer
1996-07-30 12:18   ` Clive Messer

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=960727122628.ZM26296@candle.brasslantern.com \
    --to=schaefer@candle.brasslantern.com \
    --cc=A.Main@dcs.warwick.ac.uk \
    --cc=hzoli@cs.elte.hu \
    --cc=schaefer@nbn.com \
    --cc=zsh-workers@math.gatech.edu \
    /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).