Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Bug in sh emulation



Zsh is hanging in commands like: emulate sh -c "(echo | grep)"

Everything I've tried in the form "(command | command)" fails in the same way.

zsh 4.3.14
/configure --prefix=/usr \
 		--bindir=/bin \
 		--enable-etcdir=/etc/zsh \
 		--enable-zshenv=/etc/zsh/zshenv \
 		--enable-zlogin=/etc/zsh/zlogin \
 		--enable-zlogout=/etc/zsh/zlogout \
		--enable-zprofile=/etc/zsh/zprofile \
 		--enable-zshrc=/etc/zsh/zshrc \
 		--enable-maildir-support \
 		--with-term-lib='ncursesw' \
 		--enable-multibyte \
 		--enable-function-subdirs \
 		--enable-fndir=/usr/share/zsh/functions \
zshrc: https://github.com/ISF/dotfiles/blob/master/.zshrc
Although it doesn't seem to be affected by settings in the startup files.

Origin: last update of zsh in archlinux uses /etc/zsh/zprofile in the
startup, which runs emulate sh -c "/etc/profile".
In /etc/profile.d/GNUstep.sh there is the following:

if [ -n "$ZSH_VERSION" ]; then
  # If -y is not already set, set it and remember that we  # need to
set it back to what it was at the end.  if ( setopt | grep shwordsplit
> /dev/null ); then :; else    set -y
GS_ZSH_NEED_TO_RESTORE_SET=yes  fi
fi

The most inner if makes the initialization of every zsh (as a login
shell) hangs until a SIGINT is sent.

-- 
Ivan Sichmann Freitas
GNU/Linux user #509059



Messages sorted by: Reverse Date, Date, Thread, Author