| www.delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
| List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
| List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
| List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
| Sender: | cygwin-owner AT sources DOT redhat DOT com |
| Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
| Date: | Wed, 3 Oct 2001 11:28:27 +0200 |
| Message-Id: | <200110030928.LAA12291@linux.> |
| From: | "Ehud Karni" <ehud AT unix DOT simonwiesel DOT co DOT il> |
| To: | radar AT cacheware DOT com |
| Subject: | Re: How to make cygwin/bash shell work in emacs |
| CC: | chet AT po DOT CWRU DOT Edu, cygwin AT cygwin DOT com |
| In-reply-to: | <NMEHIGJBPAKOAODKKENBOEGHCDAA.radar@cacheware.com> (message from |
| Roman Adar on Tue, 2 Oct 2001 18:17:41 -0700) | |
| Organization: | Mivtach-Simon Insurance agencies |
| Reply-to: | ehud AT unix DOT simonwiesel DOT co DOT il |
| References: | <NMEHIGJBPAKOAODKKENBOEGHCDAA DOT radar AT cacheware DOT com> |
| X-Mailer: | Emacs 20.7.1 rmail (send-msg 1.105) |
| MIME-Version: | 1.0 |
On Tue, 2 Oct 2001 18:17:41 -0700, Roman Adar <radar AT cacheware DOT com> wrote:
>
> I've tried the approach with the ".bashrc" file, but it creates other
> problems. When I've the "set -x" still set for tracing I can see that it
> loads the "shell" FOREVER, repeatedly. It never exits the load... statement.
That is because of the last lines in your /etc/profile:
cd "$HOME"
test -f ./.bashrc && . ./.bashrc
which just runs your ~/.bashrc again.
There are several ways to overcome this.
1. You can put the relevant code in ~/.bashrc and not /etc/profile
I don't recommend this solution.
2. You can set a local (not env) variable that indicate /etc/profile
has been processed (full example below).
3. The recommended solution - put the common code in a separate file
and source it whenever it is needed.
>
> It looks like the ".bashrc" file is the solution, but I also probably, need
> to make some changes in my ".emacs" and the "/etc/profile" files. However
> I'm not sure where and what.
You don't need to change ".emacs" as for "/etc/profile" - please
do (3) above.
> I believe that at this point I'll invoke the perl explicitly with the full
> path when I use it in the emacs sub-shell.
You can do that, but it is not convenient, and you are just few lines
from a really GOOD solution.
Annex: how to call /etc/profile from ~/.bashrc and ~/.bashrc from
/etc/profile without a loop.
1. Add to /etc/profile (near its beginning) ETC_PROFILE=ON
DO NOT export it ! The reason for not exporting is that you
to run /etc/profile + ~/.bashrc for sub processes.
2. Build the ~/.bashrc like this:
if [ "$ETC_PROFILE" != ON ] ; then
source /etc/profile
else
<real bashrc code>
fi
I added the annex because SOMETIMES it is useful, but please use option
(3) above whenever possible.
Ehud.
--
Ehud Karni Mivtach - Simon Insurance /"\
Tel: +972-3-7966-561 Fax: +972-3-7966-667 \ / ASCII Ribbon Campaign
(USA) Fax and voice mail: 1-815-5509341 X Against HTML Mail
Better Safe Than Sorry / \
mailto:ehud AT unix DOT simonwiesel DOT co DOT il http://www.simonwiesel.co.il
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |