Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: setopt and alias questions
- X-seq: zsh-users 2122
- From: Sweth Chandramouli <sweth@xxxxxxxxxxxxxxxxxxxx>
- To: zsh-users@xxxxxxxxxxxxxx
- Subject: Re: setopt and alias questions
- Date: Mon, 8 Feb 1999 14:59:28 -0500
- In-reply-to: <990208114403.ZM14493@xxxxxxxxxxxxxxxxxxxxxxx>
- Mail-followup-to: zsh-users@xxxxxxxxxxxxxx
- Mailing-list: contact zsh-users-help@xxxxxxxxxxxxxx; run by ezmlm
- References: <19990207193735.A2060@xxxxxxxxxxxxxxxxxxxx> <990207175931.ZM8940@xxxxxxxxxxxxxxxxxxxxxxx> <19990207235214.A2653@xxxxxxxxxxxxxxxxxxxx> <990207233343.ZM10079@xxxxxxxxxxxxxxxxxxxxxxx> <19990208103038.A3447@xxxxxxxxxxxxxxxxxxxx> <990208104550.ZM14297@xxxxxxxxxxxxxxxxxxxxxxx> <19990208141534.A4151@xxxxxxxxxxxxxxxxxxxx> <990208114403.ZM14493@xxxxxxxxxxxxxxxxxxxxxxx>
On Mon, Feb 08, 1999 at 11:44:03AM -0800, Bart Schaefer wrote:
> On Feb 8, 2:15pm, Sweth Chandramouli wrote:
> } Subject: Re: setopt and alias questions
> }
> } On Mon, Feb 08, 1999 at 10:45:50AM -0800, Bart Schaefer wrote:
> } >
> } > autoload $^fpath/*(.:t)
> } i don't like error messages, however, so i use the loop to test
> } for the existance of autoloadable files before doing the actual autoload:
> }
> } for DIRNAME in ${fpath} ; do
> } if [[ -x ${DIRNAME}/*(.x:t) ]] ; then
> } autoload ${DIRNAME}/*(.x:t)
> } fi;
> } done;
>
> That loop will never autoload anything -- unless there happens to be a
> file in the current directory with the same name as one in ${DIRNAME}.
> Do you see why?
yes--because i need to start cut&pasting my functions rather
than typing them in. that should be -n, not -x.
> Once that's fixed, the [[ -x ... ]] is completely redundant with *(.x) --
> it always succeeds, unless *(.x) doesn't match any files. (Is that the
> error you're worried about?)
that's the error--the glob complains if there are no functions to
autoload in fpath, and i find myself copying my .zshrc to enough new
machines where i haven't had a chance to set up any functions in .zfunc
and can't nfs-mount my "real" home directory that the error message can
get annoying. with the -n, it just tests to see if there are, in fact,
any executable files in that directory; if not, it won't try to autoload
(and thus glob).
> Finally, there's no requirement that files have the execute mode set in
> order to be autoloadable, so using (x) may miss some.
that's a requirement i picked up from someone on this list, or
maybe it was in the examples--it lets me "turn off" autoloading of individual
functions by removing their execute bit. i have some functions that i don't
want to use anymore, for example, but which i want to keep around so i don't
have to reinvent the wheel if i later on want to create a similar function;
this lets me keep them all in one dir.
-- sweth.
--
Sweth Chandramouli
IS Coordinator, The George Washington University
<sweth@xxxxxxx> / (202) 994 - 8521 (V) / (202) 994 - 0458 (F)
<a href="http://astaroth.nit.gwu.edu/~sweth/disc.html">*</a>
Messages sorted by:
Reverse Date,
Date,
Thread,
Author