zshrc: drop 'setopt nonomatch' configuration
authorMichael Prokop <mika@grml.org>
Fri, 26 Jun 2015 12:27:43 +0000 (14:27 +0200)
committerMichael Prokop <mika@grml.org>
Fri, 26 Jun 2015 12:35:09 +0000 (14:35 +0200)
commit016955c64b5c7a1c90af47a1a26ffe466736a12b
treee44734d2342ebe659021b0bde247471d66470a64
parent5297e36f660009d57607c4098ec834bada1b69db
zshrc: drop 'setopt nonomatch' configuration

This is something many experienced Zsh users sometimes complain
about for our config, so let's get this fixed.

The behaviour of 'setopt nonomatch' brings the Zsh behaviour
closer to what Bash does, though people should get used to proper
quoting and get the default Zsh behaviour also with grml-zshrc.

Short explanation for the behaviour of 'setopt nonomatch' by Frank:

| If there's no *.txt in $PWD that command line will not execute with Zsh's default behaviour. You have to quote: "*.txt"
| If there *is* a *.txt file in $PWD, the command will not work as expected: Thus quoting makes the call sane.
| nonomatch makes that expansion as it is done in bash: *.txt => No match? => insert '*.txt'

Short demonstration:

| % setopt nonomatch
| % for f in *.foo ; echo $f
| *.foo
| % setopt nomatch
| % for f in *.foo ; echo $f
| zsh: no matches found: *.foo

The setting is provided as an example in etc/skel/.zshrc now.

Signed-off-by: Michael Prokop <mika@grml.org>
Acked-By: Frank Terbeck <ft@grml.org>
Acked-By: Evgeni Golov <evgeni@grml.org>
etc/skel/.zshrc
etc/zsh/zshrc