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

Re: cygwin chere not working with zsh version 4.3.10 but worked for 4.3.9

On Tue, 7 Sep 2010, reckoner wrote:

Dear Ben:

It turns out that commenting out CHERE_INVOKING fixed problem. Evidently, there was no CHERE_INVOKING environment variable.


This implies a change to chere, rather than zsh, but I don't think that's
the case, since you mentioned it worked previously with zsh 4.3.9.  The
code in /etc/zprofile concerning CHERE_INVOKING has not changed between
versions.  And yet, Ben mentioned 4.3.10 working with chere for him as
is.  This will require some debugging, I suppose.

Is there anything special about your cygwin installation?  Are using a
mix of older Cygwin packages with newer Cygwin packages?  Like, maybe
chere is 1.5 based?  Zsh 4.3.9 that's in the repository was built under
Cygwin 1.5, so there might be some relationship if chere is also 1.5

Thanks again!

On 9/2/2010 2:14 PM, Benjamin R. Haskell wrote:
On Thu, 2 Sep 2010, Peter A. Castro wrote:

On Wed, 1 Sep 2010, Reckoner wrote:


Greetings, Reckoner,

This command line from cygwin chere is not working anymore for zsh
version 4.3.10, but it worked for zsh version 4.3.9:

C:\cygwin\bin\run.exe C:\cygwin\bin\rxvt.exe -e /bin/xhere /bin/zsh.exe "%L"

This is supposed to open a new zsh at the directory provided by the
%L variable. With version 4.3.10, it opens a shell, but leaves you
in $HOME instead of %L

Hmm.  I don't recall there being anything specific with reguards to
cd'ing to $HOME on startup in 4.3.10.  The sample startup profile,
/etc/zprofile, (source is at
/usr/share/doc/zsh-4.3.10/StartupFiles/etc/zprofile) was updated to be
in sync with /etc/profile from the base-files package, though those
changes weren't all that effective (spaces, tabs, comments, etc).  In
/etc/zprofile we look for an env var named CHERE_INVOKING and either
unset it or do "cd $HOME":

# Make sure we start in home unless invoked by CHERE
if [ ! -z "${CHERE_INVOKING}" ]; then
         unset CHERE_INVOKING
         cd "${HOME}"

So, clearly, this should be working in tandum with chere.  You might
want to try commenting out the above block and see if it does what you
want.  If so, it may be that chere has changed how "CHERE_INVOKING" is
being set into the environment or, maybe the name changed, or perhaps
something related to that.

I'll install chere and see what I can find out.

any help appreciated.

I installed chere, and it appears to work fine for me.  I tried first
with mintty, and then had to install rxvt before testing with it (only
had rxvt-unicode installed).

I notice that the rxvt command prepends Cygwin's 'run.exe' wrapper,
whereas the mintty version lacks it:

rxvt: (as you listed):
C:\cygwin\bin\run.exe C:\cygwin\bin\rxvt.exe -e /bin/xhere /bin/zsh.exe "%L"

C:\cygwin\bin\mintty.exe -e /bin/xhere /bin/zsh.exe "%L"

Maybe try dropping that?:
C:\cygwin\bin\rxvt.exe -e /bin/xhere /bin/zsh.exe "%L"

(It still works either way for me, but that's just one more variable to

=== Selected output from cygcheck -s ===

Windows 7 Home Premium Ver 6.1 Build 7600
Running under WOW64 on AMD64
Cygwin DLL version: 1.7.5
DLL epoch: 19

package versions:
mintty 0.8.1-1
run 1.1.12-11
rxvt 20050409-21
zsh 4.3.10-1     ($ZSH_VERSION 4.3.10 $ZSH_PATCHLEVEL 1.4705)

(not sure what else is relevant -- suspect that's enough)

Peter A. Castro <doctor@xxxxxxxxxxxx> or <Peter.Castro@xxxxxxxxxx>
	"Cats are just autistic Dogs" -- Dr. Tony Attwood

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