BTS

Message1502

Author ft
Recipients kiste, mika
Date 2008-09-28.15:45:37
Content
Frank Terbeck <ft@bewatermyfriend.org>:
> [snip]
> @@ -431,9 +431,11 @@
>      [[ -d /etc/zsh/completion.d ]] && fpath=( $fpath /etc/zsh/completion.d )
>      if [[ -d /etc/zsh/functions.d ]] ; then
>          fpath+=( /etc/zsh/functions.d )
> -        for func in /etc/zsh/functions.d/[^_]*[^~] ; do
> +        setopt nonomatch
> +        for func in `ls -C /etc/zsh/functions.d/[^_]*[^~] 2>&/dev/null` ; do
>              zrcautoload -U ${func:t}
>          done
> +        unsetopt nonomatch
> 
>      fi
>  fi
> [snap]
> 
> No way. Das ist aus so vielen Gründen nicht akzeptabel, das ich
> garnicht erst anfange. Ich weiß auch nicht, was du da mit nonomatch
> erreichen willst. Ich nehme an, du willst null_glob. Erklärung bitte.
> 
> Dieser unsägliche ls-Hack kommt auf keinen Fall in Frage:
>   <http://bewatermyfriend.org/posts/2007/02-08.12-18-45-rants.html>

Mika hat da ein wenig zuviel weggeschnitten. Schieben wir's mal auf
die Erkrankung. :-)

Leeres Verzeichnis. In Ordnung.
Aber wie gesagt, da will man NULL_GLOB. Und dieses ls-Gefrickel kommt
ganz sicher nicht in die Tüte:

    for func in /etc/zsh/functions.d/[^_]*[^~](N.) ; do

'N' schaltet temporär NULL_GLOB ein. '.' matched nur reguläre Dateien
(macht nun noch keinen Unterschied, sollten aber in Zukunft einmal
Subverzeichnisse in functions.d liegen, kommt der Glob damit schon
klar).

Gruß, Frank
History
Date User Action Args
2008-09-28 15:45:37ftsetrecipients: + mika, kiste
2008-09-28 15:45:37ftlinkissue528 messages
2008-09-28 15:45:37ftcreate