From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: zsh-workers@sunsite.dk
Subject: Re: Moving completion functions
Date: Mon, 19 Mar 2001 04:36:01 +0000 [thread overview]
Message-ID: <1010319043601.ZM13312@candle.brasslantern.com> (raw)
In-Reply-To: <3AB534CA.AAFF8D96@u.genie.co.uk>
On Mar 18, 10:20pm, Oliver Kiddle wrote:
} Subject: Re: Moving completion functions
}
} Bart wrote:
} > Aliasing is not the only reason for making compinit a function.
}
} More user's would understand what they are doing when told to source a
} file than the autoloading. And, it would avoid the zsh always setting
} fpath stuff that I mentioned my dislike for before.
What exactly would you like fpath to contain by default? Nothing?
The current scheme doesn't set fpath just to get the Completion functions;
it also sets it to get the stuff from the Functions subdirectory, etc.
If we remove the Completion directories from the default fpath, then we
must also give up --enable-function-subdirs. Not that we can't use the
subdirs for installation, but that we must hardwire the installation so
that compinit can know what to add to fpath. Even then, compinit needs
to get the base path (to which to append /Completion/...) from somewhere.
Either that, or compinit needs to become a manufactured file, built from
a .in that can substitute the necessary fpath from configure. I don't
find that a particularly exciting prospect.
Issues of setting fpath aside, the following patch makes it possible to
source compinit. (Not committed yet, pending further discussion.) One
thing that bothers me a bit is that the (ARGC=0) test will give the wrong
result if compinit is sourced from within some other function; as far as
I can tell, there's no completely reliable way to determine that "source"
(or ".") is in progress.
Index: Completion/Core/compinit
===================================================================
RCS file: /extra/cvsroot/zsh/zsh-3.1/Completion/Core/compinit,v
retrieving revision 1.75
diff -c -r1.75 compinit
--- Completion/Core/compinit 2001/03/19 02:32:16 1.75
+++ Completion/Core/compinit 2001/03/19 04:13:16
@@ -65,6 +65,8 @@
# queried for whether to use or ignore the insecure directories (which
# means compinit should not be called from non-interactive shells).
+compinit() {
+
emulate -L zsh
setopt extendedglob
@@ -481,3 +483,11 @@
autoload -U compinit compaudit
return 0
+
+}
+
+# Find out if this file is being read with "source" or ".", or called as
+# an autoloaded function, and re-call as appropriate.
+
+local -i ARGC # Harmless if sourced, removes readonly if autoloaded.
+{ (ARGC=0) 2>/dev/null && [[ -o kshautoload ]] } || compinit "$@"
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.brasslantern.com
Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net
next prev parent reply other threads:[~2001-03-19 4:38 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-03-18 22:20 Oliver Kiddle
2001-03-19 4:36 ` Bart Schaefer [this message]
-- strict thread matches above, loose matches on Subject: below --
2001-03-30 14:00 Sven Wischnowsky
2001-03-30 15:12 ` Bart Schaefer
2001-03-29 9:33 Sven Wischnowsky
2001-03-29 16:49 ` Bart Schaefer
2001-03-28 14:12 Sven Wischnowsky
2001-03-28 16:14 ` Bart Schaefer
2001-03-28 16:20 ` Peter Stephenson
2001-03-26 14:16 Sven Wischnowsky
2001-03-26 8:53 Sven Wischnowsky
2001-03-22 21:46 Oliver Kiddle
2001-03-22 21:50 ` Oliver Kiddle
2001-03-23 0:29 ` Bart Schaefer
2001-03-25 15:26 ` Oliver Kiddle
2001-03-25 20:39 ` Peter Stephenson
2001-03-26 4:33 ` Bart Schaefer
2001-03-22 10:40 Sven Wischnowsky
2001-03-22 11:03 ` Peter Stephenson
2001-03-22 17:04 ` Bart Schaefer
2001-03-21 11:42 Sven Wischnowsky
2001-03-20 21:32 Oliver Kiddle
2001-03-21 9:58 ` Bart Schaefer
2001-03-19 9:46 Sven Wischnowsky
2001-03-22 7:21 ` Bart Schaefer
2001-03-16 17:27 Oliver Kiddle
2001-03-16 10:20 Sven Wischnowsky
2001-03-18 2:39 ` Bart Schaefer
2001-03-15 20:50 Oliver Kiddle
2001-03-16 12:09 ` Peter Stephenson
2001-03-17 23:16 ` Bart Schaefer
2001-03-15 15:46 Oliver Kiddle
2001-03-15 18:14 ` Bart Schaefer
2001-03-15 10:43 Sven Wischnowsky
2001-03-15 9:30 Sven Wischnowsky
2001-03-15 10:33 ` Peter Stephenson
2001-03-15 17:04 ` Bart Schaefer
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=1010319043601.ZM13312@candle.brasslantern.com \
--to=schaefer@candle.brasslantern.com \
--cc=zsh-workers@sunsite.dk \
/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).