no se pueden ejecutar comandos en bash invocados desde el shell de emacs en Windows

no se pueden ejecutar comandos en bash invocados desde el shell de emacs en Windows

Invoqué "shell" que ejecuta correctamente cmd.exe y se ejecuta correctamente.
Sin embargo, cuando ejecuto bash desde ese shell, cada comando da un error

Microsoft Windows [Version 10.0.22000.739] (c) Microsoft Corporation.  
All rights reserved.  

c:\tools\Emacs\emacs-28.1>bash  
bash  
ll  
bash: line 1: $'ll\r': command not found  

bash: line 2: $'\r': command not found  

El primer comando que escribí fue ll. En el resultado del error, podemos ver que se está agregando "\r" a mi " ll".
El segundo comando que escribí fue un simple ENTER. En la salida del error, podemos ver que se está agregando "\r" a mi "ENTER".

fuera de emacs: cuando invoco bash desde un shell cmd.exe, todo funciona como se esperaba.

El bash es de cygwin de 64 bits, si eso ayuda y estoy en Windows 11 Professional. El emacs fue creado para Windows nativo (no cygwin o WSL) desdehttp://gnu.bardia.tech/gnu/emacs/windows/emacs-28/emacs-28.1-installer.exe.

¿Cómo debería solucionar esto?

Respuesta1

Probablecausa:
Ese terminal envía CR+LF (" \r\n" Windows/DOS/...) al final de línea,
Bash espera solo LF (por ejemplo, convención de Linux).

Vea si puede convencer a Cygwin-Bash para que filtre el \r... No puedo decir si es posible.

Otra alternativa; hacer que emacs lance una terminal más "estándar"; por ejemplo rxvt, de Cygwin.

información relacionada