Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: "show" completion et al spammy when binaries don't exist



On Sat, 12 Jan 2008 21:57:35 +0100
"Mikael Magnusson" <mikachu@xxxxxxxxx> wrote:
> I was looking at another window while writing and typed
> show show gi<tab>
> instead of git show gi<tab> and got the following:
> % show show gi_mh:1: command not found: mhpath
> _mh:1: command not found: mhparam
> _mh:1: command not found: mhpath
> _mh:1: command not found: mhparam
> _mh:1: command not found: mhpath
> _mh:1: command not found: mhparam
> _mh:1: command not found: mhpath
> _mh:1: command not found: mhparam
>                            show show gi<cursor here>
> ---- no match for: `sequence' or `corrections'
> 
> After the error messages the prompt wasn't redrawn correctly, but I
> think that is expected. In _mh all commands are called with 2>
> /dev/null, but that doesn't help much since zsh is the one to print
> the messages. Which leads me to ask, is the stderr output of
> completion scripts ever wanted in the terminal? Maybe it should be
> redirected more centrally? Putting
> which mhpath >& /dev/null || return
> on the first line of _mh fixes the problem, I don't know if some other
> method would be preferred.

Probably something like this.

Index: Completion/Unix/Command/_mh
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_mh,v
retrieving revision 1.7
diff -u -r1.7 _mh
--- Completion/Unix/Command/_mh	9 Dec 2005 19:21:54 -0000	1.7
+++ Completion/Unix/Command/_mh	14 Jan 2008 09:48:34 -0000
@@ -1,5 +1,10 @@
 #compdef ali anno burst comp dist flist flists folder folders forw inc mark mhlist mhmail mhn mhparam mhpath mhshow mhstore msgchk next packf pick prev refile repl rmf rmm scan show sortm whom
 
+if [[ -z $commands[mhpath] ]]; then
+  _message "MH commands are not available"
+  return 1
+fi
+
 # Completion for all possible MH commands.
 local mymhdir=${$(_call_program mhpath mhpath + 2>/dev/null):-~/Mail}
 local mhlib=/usr/lib/mh


-- 
Peter Stephenson <pws@xxxxxxx>                  Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070



Messages sorted by: Reverse Date, Date, Thread, Author