Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: simple documentation bug
- X-seq: zsh-workers 25958
- From: Peter Stephenson <pws@xxxxxxx>
- To: <Norman.Azadian@xxxxxxxxxxxx>, "Zsh Hackers' List" <zsh-workers@xxxxxxxxxx>
- Subject: Re: simple documentation bug
- Date: Thu, 30 Oct 2008 12:04:34 +0000
- In-reply-to: <1FC8A0BAFBBD9749BB1F06010D23C8A5335F6662@xxxxxxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- Organization: CSR
- References: <1FC8A0BAFBBD9749BB1F06010D23C8A5335F6586@xxxxxxxxxxxxxxxxxxxxx> <200810301036.m9UAasQF024949@xxxxxxxxxxxxxx> <1FC8A0BAFBBD9749BB1F06010D23C8A5335F6662@xxxxxxxxxxxxxxxxxxxxx>
On Thu, 30 Oct 2008 12:18:48 +0100
<Norman.Azadian@xxxxxxxxxxxx> wrote:
> According to zsh(1):
>
> "Commands are first read from /etc/zshenv; this cannot be overridden."
>
> We're running Ubuntu (Heron, I believe) with zsh 4.3.4, and /etc/zshenv
> is never read. Instead, it reads from /etc/zsh/zshenv.
Bug reports go to zsh-workers@xxxxxxxxxxx
This is a long-standing issue, but it turns out it's not hard to fix if you
have Yodl to rerun. We actually distribute documentation preformatted, and
there it's a pig to fix, since it needs all the various formats to
be replaced in situ.
The following adds notes that should help package maintainers, at least.
Index: INSTALL
===================================================================
RCS file: /cvsroot/zsh/zsh/INSTALL,v
retrieving revision 1.36
diff -u -r1.36 INSTALL
--- INSTALL 1 Jun 2008 17:58:42 -0000 1.36
+++ INSTALL 30 Oct 2008 12:03:52 -0000
@@ -407,6 +407,13 @@
--disable-SCRIPTNAME option to "configure". The --disable-etcdir option
disables all startup/shutdown files which are not explicitly enabled.
+The precompiled documentation comes with startup files listed
+as being in the /etc directory. If yodl is available, running
+"touch version.yo" and "make" in the Doc directory should produce
+correctly substituted documentation. (This has to be run by hand
+to avoid introducing a dependency on yodl on systems where the precompiled
+documentation is sufficient.)
+
Shell functions
---------------
Index: Doc/Makefile.in
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Makefile.in,v
retrieving revision 1.42
diff -u -r1.42 Makefile.in
--- Doc/Makefile.in 26 Apr 2008 19:48:26 -0000 1.42
+++ Doc/Makefile.in 30 Oct 2008 12:03:52 -0000
@@ -210,11 +210,19 @@
zshzle.1: Zsh/zle.yo
+# This should depend on config.status to get the /etc files right
+# but that would introduce a dependency on Yodl in shipped versions
+# of the shell that we want to avoid.
version.yo: $(sdir_top)/Config/version.mk
( \
echo 'IFDEF(INCWSLEVEL)(INCWSLEVEL())(STARTDEF())'; \
echo 'def(version)(0)('$(VERSION)')'; \
echo 'def(date)(0)('$(VERSION_DATE)')'; \
+ echo 'def(zshenv)(0)(@zshenv@)'; \
+ echo 'def(zprofile)(0)(@zprofile@)'; \
+ echo 'def(zshrc)(0)(@zshrc@)'; \
+ echo 'def(zlogin)(0)(@zlogin@)'; \
+ echo 'def(zlogout)(0)(@zlogout@)'; \
echo 'IFDEF(DECWSLEVEL)(DECWSLEVEL())(ENDDEF())#' | tr '#' '\\'; \
) > $(sdir)/version.yo
Index: Doc/Zsh/filelist.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/filelist.yo,v
retrieving revision 1.2
diff -u -r1.2 filelist.yo
--- Doc/Zsh/filelist.yo 1 Apr 2000 20:43:44 -0000 1.2
+++ Doc/Zsh/filelist.yo 30 Oct 2008 12:03:52 -0000
@@ -7,9 +7,9 @@
list(tt($ZDOTDIR/.zlogin))
list(tt($ZDOTDIR/.zlogout))
list(tt(${TMPPREFIX}*) (default is /tmp/zsh*))
-list(tt(/etc/zshenv))
-list(tt(/etc/zprofile))
-list(tt(/etc/zshrc))
-list(tt(/etc/zlogin))
-list(tt(/etc/zlogout) (installation-specific - tt(/etc) is the default))
+list(tt(zshenv()))
+list(tt(zprofile()))
+list(tt(zshrc()))
+list(tt(zlogin()))
+list(tt(zlogout()) (installation-specific - tt(/etc) is the default))
endlist()
Index: Doc/Zsh/files.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/files.yo,v
retrieving revision 1.5
diff -u -r1.5 files.yo
--- Doc/Zsh/files.yo 20 Mar 2006 11:06:25 -0000 1.5
+++ Doc/Zsh/files.yo 30 Oct 2008 12:03:52 -0000
@@ -11,10 +11,11 @@
pindex(NO_GLOBAL_RCS, use of)
vindex(ZDOTDIR, use of)
cindex(zshenv)
-Commands are first read from tt(/etc/zshenv); this cannot be overridden.
+Commands are first read from tt(zshenv()); this cannot be overridden.
Subsequent behaviour is modified by the tt(RCS) and
tt(GLOBAL_RCS) options; the former affects all startup files, while the
-second only affects those in the tt(/etc) directory. If one of the options
+second only affects global startup files (those shown here with an
+path starting with a tt(/)). If one of the options
is unset at any point, any subsequent startup file+LPAR()s+RPAR()
of the corresponding
type will not be read. It is also possible for a file in tt($ZDOTDIR) to
@@ -25,17 +26,17 @@
pindex(LOGIN, use of)
cindex(zprofile)
If the shell is a login shell, commands
-are read from tt(/etc/zprofile) and then tt($ZDOTDIR/.zprofile).
+are read from tt(zprofile()) and then tt($ZDOTDIR/.zprofile).
cindex(zshrc)
Then, if the shell is interactive,
-commands are read from tt(/etc/zshrc) and then tt($ZDOTDIR/.zshrc).
+commands are read from tt(zshrc()) and then tt($ZDOTDIR/.zshrc).
cindex(zlogin)
-Finally, if the shell is a login shell, tt(/etc/zlogin) and
+Finally, if the shell is a login shell, tt(zlogin()) and
tt($ZDOTDIR/.zlogin) are read.
cindex(zlogout)
When a login shell exits, the files tt($ZDOTDIR/.zlogout) and then
-tt(/etc/zlogout) are read. This happens with either an explicit exit
+tt(zlogout()) are read. This happens with either an explicit exit
via the tt(exit) or tt(logout) commands, or an implicit exit by reading
end-of-file from the terminal. However, if the shell terminates due
to tt(exec)'ing another process, the logout files are not read.
@@ -46,10 +47,10 @@
vindex(HOME, use of)
If tt(ZDOTDIR) is unset, tt(HOME) is used instead.
-Those files listed above as being in tt(/etc) may be in another
+Files listed above as being in tt(/etc) may be in another
directory, depending on the installation.
-As tt(/etc/zshenv) is run for all instances of zsh, it is important that
+As tt(zshenv()) is run for all instances of zsh, it is important that
it be kept as small as possible. In particular, it is a good idea to
put code that does not need to be run for every single shell behind
a test of the form `tt(if [[ -o rcs ]]; then ...)' so that it will not
Index: Doc/Zsh/options.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/options.yo,v
retrieving revision 1.67
diff -u -r1.67 options.yo
--- Doc/Zsh/options.yo 26 Oct 2008 17:57:13 -0000 1.67
+++ Doc/Zsh/options.yo 30 Oct 2008 12:03:52 -0000
@@ -730,19 +730,19 @@
cindex(startup files, global, inhibiting)
cindex(files, global startup, inhibiting)
item(tt(GLOBAL_RCS) (tt(-d)) <D>)(
-If this option is unset, the startup files tt(/etc/zprofile),
-tt(/etc/zshrc), tt(/etc/zlogin) and tt(/etc/zlogout) will not be run. It
+If this option is unset, the startup files tt(zprofile()),
+tt(zshrc()), tt(zlogin()) and tt(zlogout()) will not be run. It
can be disabled and re-enabled at any time, including inside local startup
files (tt(.zshrc), etc.).
)
pindex(RCS)
cindex(startup files, sourcing)
item(tt(RCS) (tt(PLUS()f)) <D>)(
-After tt(/etc/zshenv) is sourced on startup, source the
-tt(.zshenv), tt(/etc/zprofile), tt(.zprofile),
-tt(/etc/zshrc), tt(.zshrc), tt(/etc/zlogin), tt(.zlogin), and tt(.zlogout)
+After tt(zshenv()) is sourced on startup, source the
+tt(.zshenv), tt(zprofile()), tt(.zprofile),
+tt(zshrc()), tt(.zshrc), tt(zlogin()), tt(.zlogin), and tt(.zlogout)
files, as described in noderef(Files).
-If this option is unset, the tt(/etc/zshenv) file is still sourced, but any
+If this option is unset, the tt(zshenv()) file is still sourced, but any
of the others will not be; it can be set at any time to prevent the
remaining startup files after the currently executing one from
being sourced.
--
Peter Stephenson <pws@xxxxxxx> Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070
Messages sorted by:
Reverse Date,
Date,
Thread,
Author