zsh-workers
 help / color / mirror / code / Atom feed
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


  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).