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

Re: Distributed Completion/ structure and compinit



Bart Schaefer wrote:

> The doc for compinit says:
> 
>  For incomplete installations, if compinit does not find enough files
>  beginning with an underscore (fewer than twenty) in the search path, it
>  will try to find more by adding the directory _compdir to the search
>  path.  Furthermore, if the directory in question ends in the path
>  segment Base, or has a subdirectory named Base, compinit will add all
>  subdirectories of the directory where Base is to the path: this allows
>  the functions to be in the same format as in the zsh source
>  distribution.
> 
> This doesn't quite work any more.  It handles one level of subdirectories,
> as in an install with --enable-function-subdirs, but not two levels of
> subdirectories as in the source.

Intentionally.  I wanted it to be able to work in a installation-like
setup, thinking that those who work with the source-form of the
completion system know how to set up their $fpath properly.

Do you want to say that we should change the tests to also look for,
say, $_compdir/Base/Core and if that exists, add `$_compdir/*/*(/)'?

> Also, I'm curious why this line in compaudit was commented out:
> 
>   ### [[ -d $_compdir/../Base ]] && _compdir=${_compdir:h}

I thought that this once was intended to cope with the case that
$_compdir is set to the directory that (before the move) contained the
comp* functions.  There the thing above made sense.  But since nowadays
the comp* functions are in the top-level directory itself it didn't seem
to make sense to look for certain sub-directories of the parent
directory of $_compdir.  Was I mistaken?

Bye
  Sven


-- 
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



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