From: Bart Schaefer <schaefer@brasslantern.com>
To: Zsh hackers list <zsh-workers@zsh.org>
Subject: Re: PATH: autoload with explicit path
Date: Mon, 12 Dec 2016 08:05:50 -0800 [thread overview]
Message-ID: <161212080550.ZM935@torch.brasslantern.com> (raw)
In-Reply-To: <20161211221844.5e51affe@ntlworld.com>
On Dec 11, 10:18pm, Peter Stephenson wrote:
}
} I wanted to autoload a function from an explicit path.
} [...] it strikes me it's a bit mean of the shell not simply to do
} something sensible with
}
} autoload +X /path/to/myfunc
For +X only, this can be accomplished by
FPATH=/path/to autoload +X myfunc
Sebastian's plugin manager uses this.
} That doesn't do anything sensible at the moment --- relative paths to
} functions do, with the full relative path as the name, which is entirely
} consistent, but absolute paths don't and in fact it tries the name as a
} relative path anyway which seems Just Plain Wrong.
If I understand what you're saying, that means
autoload this/here/file
creates a function named "this/here/file" by loading "file" from
$^fpath/this/here ... yes?
And then (before this patch)
autoload /this/here/file
creates a function named "/this/here/file" from the same location?
So after this patch there is no way to autoload a function whose name
begins with a slash. Not that it was especially useful to be able to
do so, just confirming.
} 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.
}
} This seemed quite a useful feature.
Yes, this is specifically what Sebastian and (I think) Ray were asking
for several months ago.
If I may make a suggestion -- an equally useful variation would be for
autoload to search the $fpath at the time of the autoload command and
store the path where the file is found *iff* it is found. This would
be sort of like doing
autoload -Uz $^fpath/myfunc(N)
except that it handles the situation where $fpath does not yet contain
the "myfunc" file.
Another useful variation might be to fall back to the current fpath if
the function isn't found at the specified location.
next prev parent reply other threads:[~2016-12-12 16:05 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-11 22:18 Peter Stephenson
2016-12-12 16:05 ` Bart Schaefer [this message]
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
2017-01-17 18:36 ` PATCH: " Peter Stephenson
2017-01-17 22:17 ` Daniel Shahaf
2017-01-18 0:06 ` Bart Schaefer
2017-01-18 9:21 ` Peter Stephenson
2017-01-18 9:17 ` Peter Stephenson
2017-01-18 22:26 ` Bart Schaefer
2017-01-19 9:39 ` Peter Stephenson
2017-01-18 9:53 ` Peter Stephenson
[not found] <CGME20170127151334epcas2p4c32b57f69fcae22b40b309793eb8ceb6@epcas2p4.samsung.com>
2017-01-27 15:12 ` PATH: " Sebastian Gniazdowski
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
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=161212080550.ZM935@torch.brasslantern.com \
--to=schaefer@brasslantern.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).