I am pleased to learn that NTemacs is smarter than it used to be.
I started using
(set-buffer-process-coding-system 'undecided-unix 'undecided-unix)
in my site-start.el years ago because it was necessary at that time.
I agree that it no longer seems necessary.
After your comment on it, I started a fresh emacs instance with
emacs -q --no-site-file
then set three variables
(setenv "COMSPEC" "/cygwin/bin/bash.exe")
(setenv "SHELL" "/cygwin/bin/bash.exe")
(setq shell-file-name "/cygwin/bin/bash.exe")
Note that I made no changes to any process-coding-system variables or functions.
With this, M-x shell opens a *shell* buffer running bash. The bash does not
have end-of-line problems.
I now have several questions.
1. How do I find the current process-coding system? I didn't see any
variables or functions that give that information. I found functions to change
it but not to give the current value.
2. In the situation above, PATH did not include cygwin. I added it with
PATH=c:/cygwin/bin/:$PATH
but it still wasn't correctly recognized:
/cygdrive/c/HOME/rmh$ PATH=c:/cygwin/bin/:$PATH
/cygdrive/c/HOME/rmh$ echo $PATH
c:/cygwin/bin/:/cygdrive/c/Program Files/.........
/cygdrive/c/HOME/rmh$ date
bash: date: command not found
/cygdrive/c/HOME/rmh$ c:/cygwin/bin/date
Fri Nov 25 16:20:48 EST 2005
Why wasn't the PATH acted on in this situation?
Rich