Shlomi Fish wrote on Tue, 11 Aug 2020 16:57 +0300:
> Hi all!
Morning.
>
> ```
> shlomif[fcs]:$trunk/fc-solve/B$ pwd
> /home/shlomif/progs/freecell/git/fc-solve/fc-solve/B
> shlomif[fcs]:$trunk/fc-solve/B$ ls *.tar.*
> fc-solve--board-gen--suits-swaps-reports.tar.xz
> freecell-solver-6.0.1.tar.xz
> freecell-solver-6.0.1.tar.gz
> shlomif[fcs]:$trunk/fc-solve/B$ rpmbuild -tb f[tab]
> ```
>
> gets stuck. I am on mageia linux v8 with `zsh-5.8-1.mga8`.
>
So, it's the -t flag with "b" for an argument, so it'll enter the
"build_t" state:
173 rpmbuild)
174 [[ -prefix -r ]] && pathopts[1]=
175 opts+=( $buildopts
176 '(-r -t)-b+[build mode (spec file)]:build stage:((p\:execute\ \%prep\ stage l\:do\ a\ list\ check c\:execute\ build\ stage i\:execute\ install\ stage b\:build\ a\ binary\ package a\:build\ binary\ and\ source\ packages s\:build\ source\ package\ only r\:build\ source\ package\ only\ -\ calculate\ build\ requires)):*:build:->build_b'
177 '(-b -t)-r+[build mode (source package)]:build stage:((p\:execute\ \%prep\ stage l\:do\ a\ list\ check c\:execute\ build\ stage i\:execute\ install\ stage b\:build\ a\ binary\ package a\:build\ binary\ and\ source\ packages s\:build\ source\ package\ only r\:build\ source\ package\ only\ -\ calculate\ build\ requires)):*:build:->build_b'
178 '(-b -r)-t+[build mode (tar file)]:build stage:((p\:execute\ \%prep\ stage l\:do\ a\ list\ check c\:execute\ build\ stage i\:execute\ install\ stage b\:build\ a\ binary\ package a\:build\ binary\ and\ source\ packages s\:build\ source\ package\ only r\:build\ source\ package\ only\ -\ calculate\ build\ requires)):*:build:->build_t'
179 --{rebuild,recompile}':*:source rpm file:->build_r'
180 )
181 ;;
Which will set $tmp:
283 build_t) tmp=( '*:tar file:_files -g "*.(#i)tar(.*|)(-.)"' ) ;|
But then nothing reads $tmp.
Does this help?
[[[
diff --git a/Completion/Redhat/Command/_rpm b/Completion/Redhat/Command/_rpm
index e3469245f..85292fa78 100644
--- a/Completion/Redhat/Command/_rpm
+++ b/Completion/Redhat/Command/_rpm
@@ -282,7 +282,7 @@ _rpm () {
build_r) tmp=( '*:source package:_files -g "*.(#i)src.rpm(-.)"' ) ;|
build_t) tmp=( '*:tar file:_files -g "*.(#i)tar(.*|)(-.)"' ) ;|
build_?)
- _arguments -s -C $buildopts $commonopts $pathopts \
+ _arguments -s -C $buildopts $commonopts $pathopts "${tmp[@]}" \
;;
checksig)
_arguments -s -C \!-K \
]]]
I applied the patch to "fedpkg clone --anonymous zsh" and rebuilt, and it seems to have fixed the issue. Thanks!
> One workaround is to prefix the line with "ls " and later remove it.
>
> Regards,
>
> -- Shlomi
>
> P.S: I'd suggest setting up a bug/issue tracker for zsh that tracks
> non-resolved tickets. There are many FOSS, non-FOSS or hosted alternatives.
It's been discussed before. tl;dr is that we require one with
bidirectional email integration to preserve the existing workflow, but
none has been proposed.
Ah, email integration is considered an important feature for issue trackers, but I often resort to using their web interfaces.
Cheers,
Daniel