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>
## add `|' to output redirections in the history
#setopt histallowclobber
## 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
## warning if file exists ('cat /dev/null > ~/.zshrc')
#setopt NO_clobber
# display PID when suspending processes as well
setopt longlistjobs
# 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
# report the status of backgrounds jobs immediately
setopt notify