From: Bart Schaefer <schaefer@brasslantern.com>
To: Zsh Users <zsh-users@zsh.org>
Subject: Re: autoload
Date: Fri, 18 Sep 2015 17:14:41 -0700 [thread overview]
Message-ID: <150918171441.ZM27212@torch.brasslantern.com> (raw)
In-Reply-To: <150917103419.ZM10067@torch.brasslantern.com>
I decided I should clarify something:
On Sep 17, 10:34am, Bart Schaefer wrote:
}
} I think the problem here is that you've put a .zwc file IN a directory
} that is itself listed in $fpath. This is typically a no-no. You want
} a .zwc file to be treated as if it WERE a directory, NOT as if it were
} one of the function definition files IN the directory.
This is not quite correct. I thought the situation was that we were
talking about was
fpath=(/path/to/Directory ...)
/path/to/Directory/Directory.zwc # contains multiple functions
This would be wrong. Instead it should be one of
fpath=(/path/to/Directory ...)
/path/to/Directory.zwc # contains multiple functions
or
fpath=(/path/to/Directory ...)
/path/to/Directory/function.zwc # contains one function only
In fact what Debian has done is the first of those two (correct) options,
so my "typically a no-no" was off base.
A third correct option would be
fpath=(/path/to/Directory.zwc ...)
which I prefer, but which skips comparing the modification time of that
file to the files in /path/to/Directory/. The advantage is that the
Directory itself need not exist, you can put the .zwc file anywhere.
Now, here's the interesting twist to what Debian has done. They have
fpath=(... /usr/share/zsh/functions/Completion ...
/usr/share/zsh/functions/Completion/Base ...)
with file /usr/share/zsh/functions/Completion/Base.zwc (among others).
For autoload, this is ambiguous -- if someone tries to run a command
named "Base", zsh searches /usr/share/zsh/functions/Completion/Base.zwc
for that function, because it might be the "one function only" option
described above. It won't find the function there, of course, so it
will go on and look elsewhere and no one the wiser, and probably no one
ever runs "Base" anyway.
I don't want to claim there is anything wrong with Debian's choice, I
merly point it out as a probably-unintended side effect.
next prev parent reply other threads:[~2015-09-19 0:14 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-17 15:54 autoload Ray Andrews
2015-09-17 17:34 ` autoload Bart Schaefer
2015-09-17 19:22 ` autoload Ray Andrews
2015-09-17 20:40 ` autoload Bart Schaefer
2015-09-17 23:06 ` autoload Ray Andrews
2015-09-17 23:20 ` autoload Bart Schaefer
2015-09-18 1:20 ` autoload Ray Andrews
2015-09-18 4:04 ` autoload Bart Schaefer
2015-09-18 5:00 ` autoload Ray Andrews
2015-09-18 5:52 ` autoload Bart Schaefer
2015-09-18 15:49 ` autoload Ray Andrews
2015-09-18 16:52 ` autoload Bart Schaefer
2015-09-18 18:29 ` autoload Ray Andrews
2015-09-18 19:02 ` autoload Bart Schaefer
2015-09-18 22:57 ` autoload Ray Andrews
2015-09-19 0:14 ` Bart Schaefer [this message]
2015-09-19 15:04 ` autoload Ray Andrews
2015-09-19 16:29 ` autoload Bart Schaefer
2015-09-19 18:13 ` autoload Ray Andrews
2015-09-19 21:22 ` autoload Bart Schaefer
2015-09-19 22:12 ` autoload Ray Andrews
2015-09-20 5:53 ` autoload Bart Schaefer
2015-09-20 15:37 ` autoload Ray Andrews
2015-09-20 15:59 ` autoload Bart Schaefer
2015-09-20 0:58 ` autoload Ray Andrews
2015-09-20 5:41 ` autoload Bart Schaefer
2015-09-20 23:21 ` autoload Ray Andrews
2015-09-21 4:18 ` autoload Bart Schaefer
2015-09-21 17:03 ` autoload Ray Andrews
2015-09-21 18:17 ` autoload Bart Schaefer
2015-09-21 20:09 ` autoload Ray Andrews
2015-09-22 3:19 ` autoload Bart Schaefer
2015-09-22 17:33 ` autoload Ray Andrews
2015-09-23 4:39 ` autoload Bart Schaefer
2015-09-23 15:06 ` autoload Ray Andrews
2015-09-29 23:16 ` wheels within wheels Ray Andrews
2015-09-30 2:55 ` Kurtis Rader
2015-09-30 3:24 ` Ray Andrews
2015-09-30 3:40 ` Bart Schaefer
2015-09-30 4:03 ` Mikael Magnusson
2015-09-30 4:15 ` Ray Andrews
2015-09-30 7:05 ` Bart Schaefer
2015-09-30 15:06 ` Ray Andrews
2015-09-30 8:01 ` ZyX
2015-09-30 15:18 ` Ray Andrews
-- strict thread matches above, loose matches on Subject: below --
2015-09-08 12:32 Announce of Zsh Navigation Tools Sebastian Gniazdowski
2015-09-12 17:50 ` Ray Andrews
2015-09-12 19:41 ` ZyX
2015-09-12 21:03 ` Ray Andrews
2015-09-12 22:10 ` Bart Schaefer
2015-09-12 23:03 ` Ray Andrews
2015-09-12 23:43 ` Bart Schaefer
2015-09-14 2:14 ` autoload Ray Andrews
2015-09-14 2:38 ` autoload Bart Schaefer
2015-09-14 3:34 ` autoload Ray Andrews
2015-09-14 20:21 ` autoload Bart Schaefer
2015-09-15 2:48 ` autoload Ray Andrews
2015-09-15 3:48 ` autoload Bart Schaefer
2015-09-15 16:18 ` autoload Ray Andrews
2015-09-16 4:09 ` autoload Ray Andrews
2014-12-23 15:51 autoload Ray Andrews
2014-12-23 17:36 ` autoload Bart Schaefer
2014-12-23 18:19 ` autoload Ray Andrews
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=150918171441.ZM27212@torch.brasslantern.com \
--to=schaefer@brasslantern.com \
--cc=zsh-users@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).