bash shell inside emacs
David Zaleta
zaleta@reticular.com
Sun Jan 31 23:52:00 GMT 1999
I just installed cygwin b20 and nt emacs 20.3.1....
I set up a simple .bashrc file:
export PS1="[\h] \w\n% "
PATH=.:/cygnus/cygwin-b20/H-i586-cygwin32/bin:/bin:/jdk1.1.7B/bin:/Windows:/Windows/Command:/:/Dos
export CLASSPATH=".;C:\jdk1.1.7B\lib\classes.zip;C:\jdk1.1.7B\lib;C:\Program Files\AgentBuilderLite1.0.1\lib;C:\Program Files\AgentBuilderLite1.0.1\lib\agentBuilder.jar;C:\Program Files\AgentBuilder1.0.1\lib\swingall.jar"
I also defined in my autoexec.bat file a path that would see the bash.exe
SET PATH='C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;C:\DOS;C:\cygnus\cygwin-b20\H-i586-cygwin32\bin;C:\bin;C:\JDK1.1.7b\BIN'
One problem that I am now experiencing is that when I
start up the bash shell by double clicking on a shortcut
the first line gives me something like:
BASH.EXE: skip: command not found
However, everything seems to work fine so this is not a real show stopper..
What I would really like to do is get the bash shell into nt emacs...
Well, I have tried 3 different "recommended" ways to make this work,
based on different FAQs and have gotten different results and none of
them quite right:
>From the NT Emacs FAQ I used:
(defun my-shell-setup ()
"For bash (cygwin 18) under Emacs 20"
(setq comint-scroll-show-maximum-output 'this)
(setq comint-completion-addsuffix t)
(setq comint-process-echoes t)
(setq comint-eol-on-send t)
(setq w32-quote-process-args ?\")
(make-variable-buffer-local 'comint-completion-addsuffix))
(setq shell-mode-hook 'my-shell-setup)
(setq process-coding-system-alist (cons '("bash" . raw-text-unix)
process-coding-system-alist))
When I use the above in my .emacs file I get a prompt that looks like:
[\h] \w\n%
In addition, When I enter an ls command the ls is removed and replaced
by the first file...so I go from
[\h] \w\n% ls
to
[\h] \w\n% Makefile
javaStuff
nipt
[\h] \w\n%
I then removed teh above from my .emacs file and
replaced it with the suggestion from the cygwin faq:
(load "comint")
(fset 'original-comint-exec-1 (symbol-function 'comint-exec-1))
(defun comint-exec-1 (name buffer command switches)
(let ((binary-process-input t)
(binary-process-output nil))
(original-comint-exec-1 name buffer command switches)))
This version and the next are the best one that I have tried although
in both cases you can see my prompt is completely messed up again...
[\h] \w\n% ls
Makefile
javaStuff
nipt
[\h] \w\n%
The other option that I got was a pointer from the NT Emacs FAQ
from Jonathan Payne
(progn
(using-unix-filesystems t)
(setq shell-file-name "sh")
(setq explicit-shell-file-name shell-file-name)
(setq explicit-sh-args '("-login" "-i"))
(setq shell-command-switch "-c")
(setq archive-zip-use-pkzip nil)
(setenv "SHELL" shell-file-name)
(setq win32-quote-process-args t)
(setq win32-enable-italics t)
(setq comint-process-echoes nil)
(menu-bar-mode 0))
and resulted in the same output as in the previous case??
I assume since others have gotten it to work it must me something
to do with my .bashrc or the initial settings in my autoexec.bat...
anyone have any ideas??
thanks
dave z
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
More information about the Cygwin
mailing list