zsh-workers
 help / color / mirror / code / Atom feed
From: Sebastian Gniazdowski <psprint2@fastmail.com>
To: zsh-workers@zsh.org
Subject: RE: PATH: autoload with explicit path
Date: Fri, 27 Jan 2017 07:12:59 -0800	[thread overview]
Message-ID: <1485529979.987251.861563792.06CCDCAC@webmail.messagingengine.com> (raw)

On 11 December 2016 at 23:18, Peter Stephenson
<p.w.stephenson@ntlworld.com> wrote:
> Then I found it was pretty much as easy (easier, actually, since fewer
> special cases) to implement this generally:
>
> autoload -Uz /path/to/myfunc
>
> defines myfunc to be found in the directory /path/to by reusing the
> filename element of the shfunc structure that's currently unused at this
> stage.

I do the non-fpath autoloading by local FPATH parameter. There's
drawback: if autoloaded function does further autoloading of other
function, then the earlier supplied local FPATH parameter isn't active
anymore.

So it's not possible to have /home/user/functions/{fun1,fun2}, autoload
fun1, and have fun2 available for fun1. Now, with the new feature,
directory path can be attached to function and if it calls autoload
itself, then the attached directory can be examined before FPATH. Could
this be added?

There are variations possible in this, whether it should be
attached-path that overloads FPATH, or FPATH to overload attached-path.
I think that a straightforward way would be to promote attached-path
(examine it first), to allow basic /home/user/functions/{fun1,fun2}
organization of functions, which doesn't need much head scratching, it's
selecting functions "in-package", easy to understand. Having FPATH
examined first would allow loading of patched fun2 from regular fpath
dir, but this is inconsistent – if one would want to have patched fun1
in FPATH, then he would need to drop the path argument from autoload,
and copy fun2.

 -- 
  Sebastian Gniazdowski
  psprint2@fastmail.com


             reply	other threads:[~2017-01-27 15:13 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20170127151334epcas2p4c32b57f69fcae22b40b309793eb8ceb6@epcas2p4.samsung.com>
2017-01-27 15:12 ` Sebastian Gniazdowski [this message]
2017-01-27 16:24   ` Peter Stephenson
2017-01-27 18:40     ` Sebastian Gniazdowski
2017-01-27 18:44       ` Peter Stephenson
2017-01-27 19:00         ` Sebastian Gniazdowski
2017-01-28 18:05         ` Bart Schaefer
2017-01-28 19:12           ` Peter Stephenson
2017-01-28 19:45             ` Bart Schaefer
2017-01-28 19:56               ` Peter Stephenson
2017-01-28 20:37                 ` Sebastian Gniazdowski
2017-01-29 12:27             ` Sebastian Gniazdowski
2017-01-29 16:11               ` Bart Schaefer
2017-01-29 17:32                 ` Sebastian Gniazdowski
2017-01-29 18:37                   ` Bart Schaefer
2017-01-29 21:53                     ` Vin Shelton
2017-01-30 10:06                       ` Peter Stephenson
2017-01-29 17:58                 ` Peter Stephenson
2017-01-30 11:37                   ` Sebastian Gniazdowski
2017-01-30 11:55                     ` Peter Stephenson
2016-12-11 22:18 Peter Stephenson
2016-12-12 16:05 ` Bart Schaefer
2016-12-12 16:31   ` Peter Stephenson
2016-12-12 18:09     ` Bart Schaefer
2017-01-10 19:31     ` Peter Stephenson
2017-01-11 11:42       ` Peter Stephenson
2017-01-11 20:51         ` Peter Stephenson
2017-01-12 20:42           ` Peter Stephenson
2017-01-13 18:04           ` Peter Stephenson
2017-01-16 10:37             ` Peter Stephenson
2017-01-16 15:04               ` Daniel Shahaf
2017-01-16 15:48                 ` Peter Stephenson
2017-01-16 15:22               ` Bart Schaefer
2017-01-16 15:59                 ` Peter Stephenson
     [not found]                   ` <CAHYJk3SB1NDj6y5TRHHsAVsyjHfZQhTzMRzTR2c-SVEc9oAwzA@mail.gmail.com>
2017-01-24 11:10                     ` Peter Stephenson
2017-01-11 21:13         ` Peter Stephenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1485529979.987251.861563792.06CCDCAC@webmail.messagingengine.com \
    --to=psprint2@fastmail.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).