From: Peter Stephenson <pws@csr.com>
To: <Norman.Azadian@swisscom.com>,
"Zsh Hackers' List" <zsh-workers@sunsite.dk>
Subject: Re: simple documentation bug
Date: Thu, 30 Oct 2008 12:04:34 +0000 [thread overview]
Message-ID: <20081030120434.499a75c0@news01> (raw)
In-Reply-To: <1FC8A0BAFBBD9749BB1F06010D23C8A5335F6662@sg000035.corproot.net>
On Thu, 30 Oct 2008 12:18:48 +0100
<Norman.Azadian@swisscom.com> 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@sunsite.dk.
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@csr.com> Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070
next prev parent reply other threads:[~2008-10-30 12:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-30 10:27 FW: buglist Norman.Azadian
2008-10-30 10:36 ` Peter Stephenson
[not found] ` <1FC8A0BAFBBD9749BB1F06010D23C8A5335F6662@sg000035.corproot.net>
2008-10-30 12:04 ` Peter Stephenson [this message]
2010-06-16 14:09 ` simple documentation bug Peter Stephenson
2008-10-30 10:38 ` FW: buglist Stephane Chazelas
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=20081030120434.499a75c0@news01 \
--to=pws@csr.com \
--cc=Norman.Azadian@swisscom.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).