[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: very wierd commit from emacs (or ntemacs) problem
From: |
Eli Zaretskii |
Subject: |
Re: very wierd commit from emacs (or ntemacs) problem |
Date: |
Tue, 17 Apr 2001 23:11:02 +0300 |
> From: Stephen Leake <stephen.a.leake.1@gsfc.nasa.gov>
> Date: 17 Apr 2001 15:46:25 -0400
>
> Eli Zaretskii <eliz@is.elta.co.il> writes:
>
> > On Mon, 16 Apr 2001 Chuck.Irvine@mail.sprint.com wrote:
> >
> > > > I suspect that the problem is with quoting the log message that is
> > > > passed to CVS. Are you sure that Emacs invokes Bash as the shell?
> > > > What is your SHELL variable set to?
> > >
> > > Inside my .emacs, I set $SHELL to bash, i.e.:
> > > (setenv "SHELL" "bash")
> >
> > That might not do what you want: setenv doesn't change Emacs's own
> > environment, only the environment that is passed to subprocesses.
>
> That is what you need in this case; the vc lisp is spawning a shell
> under Emacs in which to run cvs.
No. Calling setenv makes sure that whatever shell is run by vc.el, it
(the shell) gets passed SHELL=bash. But it does nothing to ensure
that the shell run by vc.el is indeed Bash--this isn't decided by
looking at the environment passed to subprocesses. When Emacs decides
what shell to invoke, it looks at its own environment, and setenv
cannot reach that.