tarjoilija / zgen

A lightweight and simple plugin manager for ZSH
BSD 2-Clause "Simplified" License
1.49k stars 98 forks source link

zgen update fails with "no matches found" #102

Open flypenguin opened 6 years ago

flypenguin commented 6 years ago

Environment

ZGEN: commit ffd3f50 ZSH: zsh 5.4.2 (x86_64-unknown-linux-gnu) (Arch linux)

Description

I have an error I have not seen before. A fresh zgen installation gives me this:

me@mine % zgen update
zgen-update:1: no matches found: /home/abk/.zgen/*/*

I tracked the error message to the first line in zgen-update:

me@mine % which zgen-update
zgen-update () {
    for repo in "${ZGEN_DIR}"/*/*              # ********** THIS LINE **********
    do
        -zgpute "Updating '${repo}' ..."
        (
            cd "${repo}" && git pull && git submodule update --recursive
        )
    done
    zgen-reset
}

As demonstrated here:

me@mine % for repo in ./*/* ; do echo $repo ; done 
zsh: no matches found: ./*/*
1 me@mine %

A valid replacement could be:

me@mine % for repo in ./*(/) ; do echo $repo ; done 
./robbyrussell

the official zsh intro document lists my "valid replacement" as a "qualifiers" example, but I did not find an explanation for the */* form you're using right now on the first glance.

I have no clue if arch linux is too new here, if zsh changed, if I did something wrong, yet it did work before and after a fresh system install yesterday it stopped (or I didn't notice before).

Those are my setopts:

autocd
autopushd
nobeep
completeinword
extendedglob
extendedhistory
histignorealldups
histignorespace
nohup
incappendhistory
interactive
interactivecomments
kshglob
longlistjobs
monitor
pushdignoredups
sharehistory
shinstdin
zle