groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Groff] Possible zsh contention in pdfroff (Re: [autoconf] ensure a VPAT


From: Keith MARSHALL
Subject: [Groff] Possible zsh contention in pdfroff (Re: [autoconf] ensure a VPATH build)
Date: Tue, 21 Feb 2006 13:49:12 +0000

I'm copying this to address@hidden, which I think is a more
appropriate forum for continuation of this discussion.

Ralf Wildenhues wrote:
> Some zsh versions have NULLCMD set to `cat' by default, so the
> command [`>> $REFFILE'] will be equivalent to
>
>    cat >> $REFFILE
>
> and thus will read from stdin until EOF.  If stdin is connected to
> the terminal, the innocent user will think the program hangs; if it
> points to an open file, that file will end up in $REFFILE.

Given the complete absence of related of bug reports, either:

1) This isn't true (which seems unlikely), or (more likely)

2) No one has attempted to build groff >= 1.19.2, or to use pdfroff,
   on any system where /bin/sh is linked to zsh.

Can anyone either confirm or refute the hypothesis that there may be
a zsh related contention in pdfroff?

> Quoting relevant parts of (CVS) autoconf.info:
| Zsh
|      To detect whether you are running `zsh', test whether
|      `ZSH_VERSION' is set.  By default `zsh' is _not_ compatible with
|      the Bourne shell: you must execute `emulate sh', and for `zsh'
|      versions before 3.1.6-dev-18 you must also set `NULLCMD' to `:'.
|      *Note Compatibility: (zsh)Compatibility, for details.
| 
|      The default Mac OS X `sh' was originally Zsh; it was changed to
|      Bash in Mac OS X 10.2.

| `NULLCMD'
|      When executing the command `>foo', `zsh' executes `$NULLCMD >foo'
|      unless it is operating in Bourne shell compatibility mode and the
|      `zsh' version is newer than 3.1.6-dev-18.  If are using an older
|      `zsh' and forget to set `NULLCMD', your script might be suspended
|      waiting for data on its standard input.

So, perhaps the most appropriate action would be to add zsh detection to
pdfroff.sh; e.g. something like:

   test x${ZSH_VERSION+"set"} = xset && { emulate sh; NULLCMD=:; }

BTW Ralf, I notice a typo in the above autoconf.info snippet: under the
`NULLCMD' heading, `If are using an older...' should read `If you are...',
i.e. the word `you' is missing.

Regards,
Keith.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]