From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28169 invoked from network); 30 Oct 2008 12:05:35 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 30 Oct 2008 12:05:35 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 61747 invoked from network); 30 Oct 2008 12:05:23 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 30 Oct 2008 12:05:23 -0000 Received: (qmail 13572 invoked by alias); 30 Oct 2008 12:05:16 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 25958 Received: (qmail 13541 invoked from network); 30 Oct 2008 12:05:14 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 30 Oct 2008 12:05:14 -0000 Received: from cluster-d.mailcontrol.com (cluster-d.mailcontrol.com [217.69.20.190]) by bifrost.dotsrc.org (Postfix) with ESMTPS id 2970E80524C2 for ; Thu, 30 Oct 2008 13:05:08 +0100 (CET) Received: from rly13d.srv.mailcontrol.com (localhost.localdomain [127.0.0.1]) by rly13d.srv.mailcontrol.com (MailControl) with ESMTP id m9UC54Fc008235 for ; Thu, 30 Oct 2008 12:05:05 GMT Received: from submission.mailcontrol.com (submission.mailcontrol.com [86.111.216.190]) by rly13d.srv.mailcontrol.com (MailControl) id m9UC4vkc007841 for zsh-workers@sunsite.dk; Thu, 30 Oct 2008 12:04:57 GMT Received: from cameurexb01.EUROPE.ROOT.PRI ([193.128.72.68]) by rly13d-eth0.srv.mailcontrol.com (envelope-sender Peter.Stephenson@csr.com) (MIMEDefang) with ESMTP id m9UC4dNc006994; Thu, 30 Oct 2008 12:04:57 +0000 (GMT) Received: from news01 ([10.103.143.38]) by cameurexb01.EUROPE.ROOT.PRI with Microsoft SMTPSVC(6.0.3790.3959); Thu, 30 Oct 2008 12:04:39 +0000 Date: Thu, 30 Oct 2008 12:04:34 +0000 From: Peter Stephenson To: , "Zsh Hackers' List" Subject: Re: simple documentation bug Message-ID: <20081030120434.499a75c0@news01> In-Reply-To: <1FC8A0BAFBBD9749BB1F06010D23C8A5335F6662@sg000035.corproot.net> References: <1FC8A0BAFBBD9749BB1F06010D23C8A5335F6586@sg000035.corproot.net> <200810301036.m9UAasQF024949@news01.csr.com> <1FC8A0BAFBBD9749BB1F06010D23C8A5335F6662@sg000035.corproot.net> Organization: CSR X-Mailer: Claws Mail 3.5.0 (GTK+ 2.12.8; i386-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 30 Oct 2008 12:04:39.0672 (UTC) FILETIME=[AF886F80:01C93A87] X-Scanned-By: MailControl A-08-50-15 (www.mailcontrol.com) on 10.68.1.123 X-Virus-Scanned: ClamAV 0.92.1/8541/Thu Oct 30 03:54:28 2008 on bifrost X-Virus-Status: Clean On Thu, 30 Oct 2008 12:18:48 +0100 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)) )( -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)) )( -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 Software Engineer CSR PLC, Churchill House, Cambridge Business Park, Cowley Road Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070