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)
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

index ddb49c0..8695b4d 100644 (file)
@@ -104,6 +104,9 @@ fi
 ## add `|' to output redirections in the history
 #setopt histallowclobber
 
+## try to avoid the 'zsh: no matches found...'
+#setopt nonomatch
+
 ## warning if file exists ('cat /dev/null > ~/.zshrc')
 #setopt NO_clobber
 
index e5b6814..b6c8375 100644 (file)
@@ -388,9 +388,6 @@ setopt extended_glob
 # display PID when suspending processes as well
 setopt longlistjobs
 
-# try to avoid the 'zsh: no matches found...'
-setopt nonomatch
-
 # report the status of backgrounds jobs immediately
 setopt notify