Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Suggestion: Allow whence to report path(s) for autoloaded functions
- X-seq: zsh-users 14068
- From: Ian Tegebo <ian.tegebo@xxxxxxxxx>
- To: zsh-users@xxxxxxxxxx
- Subject: Re: Suggestion: Allow whence to report path(s) for autoloaded functions
- Date: Sat, 25 Apr 2009 18:38:34 -0700
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=f31ds0r/uj5LwwETgVVtUY5M8Jox059u+yTLgPlbMsc=; b=gkg1WvaMJmBMXFo7Fnb9fIWPsIRuv2S09URCh5dtY6W7p0ZJJjLkyc+filzsyWZKbh YQjLg8JVHnMRF1NcqIQqYvKmQoe2RVyWCUTSCbMZ8vRezATGB+Uq9+6p0MmghfDmYHVb XK5Kr7Rzw6owyPsYmKe3PPcWGajdG5IgLYttw=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=qEIN4PXcTYFgtkDxa+/5kjN/HCxeWAuKm+LTXZsVQ8UeFRIv2VtcS5AOod7YYA9eff GlVR8JvxrrTG4T7/GjW5wgZU7l17yWX6X3bW5RNXYraZey3j6M+EHsV6hJG8piRw/Da2 iikiJWtFwqq+RmJM/9EnQEmBRbsa3lLx1Omrg=
- In-reply-to: <090425125518.ZM13002@xxxxxxxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- References: <c21da7250904211414y609f2a62q426555c8feac39e@xxxxxxxxxxxxxx> <090425125518.ZM13002@xxxxxxxxxxxxxxxxxxxxxx>
On Sat, Apr 25, 2009 at 12:55 PM, Bart Schaefer
<schaefer@xxxxxxxxxxxxxxxx> wrote:
> I had something of an afterthought on this one ...
>
> On Apr 21, Â2:14pm, Ian Tegebo wrote:
> }
> } It seems like 'whence -v _MYFUNC' is the intuitive place to look for
> } this behavior. ÂI'd imagine it working like:
> }
> } $ whence -v _MYFUNC
> } _MYFUNC is a shell function defined in /blah/path/_MYFUNC
>
> This information could be misleading. ÂFunctions are not always loaded
> from $fpath; they can be defined in init files, edited and/or hand-
> entered on the command line, etc. ÂTo make whence useful, the shfunc
> structure would have to record where the function came from, or whence
> must only report the above if the function has NOT YET been loaded.
>
> There's also the question of what to do about files that are found in
> the $fpath directories but are not marked for autoloading.
>
> } Consequently, removing the '&& break' provides the expected result for
> } 'whence -a':
> }
> } $ whence -av _MYFUNC
> } _MYFUNC is a shell function defined in /blah/path_one/_MYFUNC
> } _MYFUNC is a shell function defined in /blah/path_two/_MYFUNC
>
> That's also misleading. ÂIf _MYFUNC were an executable located in two
> directories, it would be possible to explicitly choose which to run
> by typing the full path name as reported by whence. ÂFor a function,
> there's no [straightforward] way to bypass the fpath search order.
>
> (The non-straightforward way is to run
> Â ÂFPATH=/blah/path_two:"$FPATH" _MYFUNC
> but that can produce unexpected results if _MYFUNC calls autoloaded
> functions that should come from /blah/path_one instead.)
>
Thanks for that.
Obviously, I didn't fully appreciate how specific my use case was (nor
did I know about the idiom Peter suggested). Now I realize I only
wanted a quick way to resolve a named file within a PATH-like
structure, and not the more general case about functions that my
suggestion implied.
--
Ian Tegebo
Messages sorted by:
Reverse Date,
Date,
Thread,
Author