I wrote: } } This patch drops the filtering on man page name and instead slurps up all } the file basenames into the `rep' array, then passes that and the global } matcher spec to compadd to let it sort out the mess. If you have several } matchers this can get pretty slow, so it ought at least to cache `rep' } somewhere during the loop over the matchers; as it stands this is mostly } a proof of concept. Here's a better variation, which actually does cache the results for one pass around the matcher loop. It's quite a bit faster than with the patch from 14621, but still slower than the existing _man. The diff is bigger than the file, because of re-indentation, so I've just attached the entire file. -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net