Je viens d'installer Emacs sur Windows (NT Emacs donc), et il y a un
détail agaçant : le résultat de chaque commande cygwin que je lance
depuis Emacs est envahi de ^M (enfin, à chaque fin de ligne).
J'ai bien trouvé ça :
(add-hook 'comint-output-filter-functions
'comint-strip-ctrl-m)
mais ça ne change rien.
(Exemple concret : M-x grep, chaque ligne du buffer résultat se termine
par un ^M, idem pour M-x compile, etc.)
Avez-vous une idée ?
(A noter que le problème ne se pose pas dans un buffer *shell*,
c'est-à-dire lancé avec M-x shell).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent Poinot
Vincent Poinot wrote:
Je viens d'installer Emacs sur Windows (NT Emacs donc), et il y a un détail agaçant : le résultat de chaque commande cygwin que je lance depuis Emacs est envahi de ^M (enfin, à chaque fin de ligne).
J'ai bien trouvé ça : (add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m)
mais ça ne change rien.
(Exemple concret : M-x grep, chaque ligne du buffer résultat se termine par un ^M, idem pour M-x compile, etc.)
Avez-vous une idée ?
(A noter que le problème ne se pose pas dans un buffer *shell*, c'est-à-dire lancé avec M-x shell).
Personne, vraiment ?
Vincent Poinot wrote:
Je viens d'installer Emacs sur Windows (NT Emacs donc), et il y a un
détail agaçant : le résultat de chaque commande cygwin que je lance
depuis Emacs est envahi de ^M (enfin, à chaque fin de ligne).
J'ai bien trouvé ça :
(add-hook 'comint-output-filter-functions
'comint-strip-ctrl-m)
mais ça ne change rien.
(Exemple concret : M-x grep, chaque ligne du buffer résultat se termine
par un ^M, idem pour M-x compile, etc.)
Avez-vous une idée ?
(A noter que le problème ne se pose pas dans un buffer *shell*,
c'est-à-dire lancé avec M-x shell).
Je viens d'installer Emacs sur Windows (NT Emacs donc), et il y a un détail agaçant : le résultat de chaque commande cygwin que je lance depuis Emacs est envahi de ^M (enfin, à chaque fin de ligne).
J'ai bien trouvé ça : (add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m)
mais ça ne change rien.
(Exemple concret : M-x grep, chaque ligne du buffer résultat se termine par un ^M, idem pour M-x compile, etc.)
Avez-vous une idée ?
(A noter que le problème ne se pose pas dans un buffer *shell*, c'est-à-dire lancé avec M-x shell).
Personne, vraiment ?
Sébastien Kirche
Le 24 novembre 2005 à 16:11, Vincent Poinot s'est exprimé ainsi :
Personne, vraiment ?
J'ai bien vu ta question, mais personnellement je n'utilise quasiment pas Emacs sous win.
Bon, puisque personne ne t'a répondu (peut-être que drkm aurait une idée, ile me semble qu'il est sous win), je veux bien faire un essai plus tard ce soir, il me semble qu'un emacs 21.3 traîne sur la machine de ma femme.
-- Sébastien Kirche
Le 24 novembre 2005 à 16:11, Vincent Poinot s'est exprimé ainsi :
Personne, vraiment ?
J'ai bien vu ta question, mais personnellement je n'utilise quasiment
pas Emacs sous win.
Bon, puisque personne ne t'a répondu (peut-être que drkm aurait une
idée, ile me semble qu'il est sous win), je veux bien faire un essai
plus tard ce soir, il me semble qu'un emacs 21.3 traîne sur la machine
de ma femme.
Le 24 novembre 2005 à 16:11, Vincent Poinot s'est exprimé ainsi :
Personne, vraiment ?
J'ai bien vu ta question, mais personnellement je n'utilise quasiment pas Emacs sous win.
Bon, puisque personne ne t'a répondu (peut-être que drkm aurait une idée, ile me semble qu'il est sous win), je veux bien faire un essai plus tard ce soir, il me semble qu'un emacs 21.3 traîne sur la machine de ma femme.
-- Sébastien Kirche
drkm
Sébastien Kirche wrote:
Bon, puisque personne ne t'a répondu (peut-être que drkm aurait une idée, ile me semble qu'il est sous win
En effet (ce n'est d'ailleurs pas un choix personnel, malheureusement). Et j'utilise egalement Cygwin. Pour Emacs, j'utilise la version CVS compilee pour Win, sur crasseux.com. Normalement, il detecte pour chaque buffer s'il utilise <CR>, <LF> ou <CR><LF>. Par defaut, il utilise <CR><LF>.
Le probleme, c'est lorsque l'on en mixe deux. Cela arrive par exemple lorsque l'on fait depuis un shell Cygwin un "echo > fichier-cree-par-emacs". Le fichier contient donc initialement des <CR><LF>, mais l'echo n'ajoute qu'un <LF>. Donc Emacs pense qu'on se trouve dans le cas Unix, avec des <CR> en plus (affiches "^M").
Pour ce qui est d'une solution, je n'ai jamais vraiment cherche. Ca m'arrive somme toute peu souvent. Soit on passe en Unix avec un "M-% C-q C-m <RET> <RET> !", soit en Win en se positionnant a la fin des lignes sans "^M" et "C-q C-m" (et reouverture du fichier).
Mais il doit exister un equivalent de 'dos2unix' et/ou de 'unix2dos' sous forme de commande dans Emacs (ce qui ne serait de toute facon pas tres complique). Car si je me souviens bien, le probleme arrive dans un buffer shell (donc pas dans un fichier). Si je me souviens bien, le probleme arrive lors de l'insertion de la sortie d'un programme Cygwin dans un buffer. Sans doute existe-t-il un moyen simple de regler automatiquement le probleme. Mais ca, je ne connais pas.
Peut-etre sur EmacsWiki. Ou comp.emacs.
--drkm
Sébastien Kirche wrote:
Bon, puisque personne ne t'a répondu (peut-être que drkm aurait une
idée, ile me semble qu'il est sous win
En effet (ce n'est d'ailleurs pas un choix personnel,
malheureusement). Et j'utilise egalement Cygwin. Pour Emacs,
j'utilise la version CVS compilee pour Win, sur crasseux.com.
Normalement, il detecte pour chaque buffer s'il utilise <CR>, <LF> ou
<CR><LF>. Par defaut, il utilise <CR><LF>.
Le probleme, c'est lorsque l'on en mixe deux. Cela arrive par
exemple lorsque l'on fait depuis un shell Cygwin un "echo >
fichier-cree-par-emacs". Le fichier contient donc initialement des
<CR><LF>, mais l'echo n'ajoute qu'un <LF>. Donc Emacs pense qu'on se
trouve dans le cas Unix, avec des <CR> en plus (affiches "^M").
Pour ce qui est d'une solution, je n'ai jamais vraiment cherche. Ca
m'arrive somme toute peu souvent. Soit on passe en Unix avec un "M-%
C-q C-m <RET> <RET> !", soit en Win en se positionnant a la fin des
lignes sans "^M" et "C-q C-m" (et reouverture du fichier).
Mais il doit exister un equivalent de 'dos2unix' et/ou de 'unix2dos'
sous forme de commande dans Emacs (ce qui ne serait de toute facon pas
tres complique). Car si je me souviens bien, le probleme arrive dans
un buffer shell (donc pas dans un fichier). Si je me souviens bien, le
probleme arrive lors de l'insertion de la sortie d'un programme Cygwin
dans un buffer. Sans doute existe-t-il un moyen simple de regler
automatiquement le probleme. Mais ca, je ne connais pas.
Bon, puisque personne ne t'a répondu (peut-être que drkm aurait une idée, ile me semble qu'il est sous win
En effet (ce n'est d'ailleurs pas un choix personnel, malheureusement). Et j'utilise egalement Cygwin. Pour Emacs, j'utilise la version CVS compilee pour Win, sur crasseux.com. Normalement, il detecte pour chaque buffer s'il utilise <CR>, <LF> ou <CR><LF>. Par defaut, il utilise <CR><LF>.
Le probleme, c'est lorsque l'on en mixe deux. Cela arrive par exemple lorsque l'on fait depuis un shell Cygwin un "echo > fichier-cree-par-emacs". Le fichier contient donc initialement des <CR><LF>, mais l'echo n'ajoute qu'un <LF>. Donc Emacs pense qu'on se trouve dans le cas Unix, avec des <CR> en plus (affiches "^M").
Pour ce qui est d'une solution, je n'ai jamais vraiment cherche. Ca m'arrive somme toute peu souvent. Soit on passe en Unix avec un "M-% C-q C-m <RET> <RET> !", soit en Win en se positionnant a la fin des lignes sans "^M" et "C-q C-m" (et reouverture du fichier).
Mais il doit exister un equivalent de 'dos2unix' et/ou de 'unix2dos' sous forme de commande dans Emacs (ce qui ne serait de toute facon pas tres complique). Car si je me souviens bien, le probleme arrive dans un buffer shell (donc pas dans un fichier). Si je me souviens bien, le probleme arrive lors de l'insertion de la sortie d'un programme Cygwin dans un buffer. Sans doute existe-t-il un moyen simple de regler automatiquement le probleme. Mais ca, je ne connais pas.
Peut-etre sur EmacsWiki. Ou comp.emacs.
--drkm
Vincent Poinot
drkm wrote:
Car si je me souviens bien, le probleme arrive dans un buffer shell (donc pas dans un fichier). Si je me souviens bien, le probleme arrive lors de l'insertion de la sortie d'un programme Cygwin dans un buffer. Sans doute existe-t-il un moyen simple de regler automatiquement le probleme. Mais ca, je ne connais pas.
Merci pour ces explications détaillées : ce sont effectivement les symptômes que j'observe.
Le problème survient bien dans un buffer shell, et je pensais que le petit hook que je mentionnais au début ferait l'affaire :
Mais non. Pourtant, après avoir jeté un oeil à la fonction comint-strip-ctrl-m, elle ne m'a pas l'air mal : il doit y avoir autre chose.
Peut-etre sur EmacsWiki. Ou comp.emacs.
Je jetterai un oeil demain.
drkm wrote:
Car si je me souviens bien, le probleme arrive dans
un buffer shell (donc pas dans un fichier). Si je me souviens bien, le
probleme arrive lors de l'insertion de la sortie d'un programme Cygwin
dans un buffer. Sans doute existe-t-il un moyen simple de regler
automatiquement le probleme. Mais ca, je ne connais pas.
Merci pour ces explications détaillées : ce sont effectivement les
symptômes que j'observe.
Le problème survient bien dans un buffer shell, et je pensais que le
petit hook que je mentionnais au début ferait l'affaire :
Car si je me souviens bien, le probleme arrive dans un buffer shell (donc pas dans un fichier). Si je me souviens bien, le probleme arrive lors de l'insertion de la sortie d'un programme Cygwin dans un buffer. Sans doute existe-t-il un moyen simple de regler automatiquement le probleme. Mais ca, je ne connais pas.
Merci pour ces explications détaillées : ce sont effectivement les symptômes que j'observe.
Le problème survient bien dans un buffer shell, et je pensais que le petit hook que je mentionnais au début ferait l'affaire :
Mais non. Pourtant, après avoir jeté un oeil à la fonction comint-strip-ctrl-m, elle ne m'a pas l'air mal : il doit y avoir autre chose.
Mh, d'apres un coup d'oeil rapide aux docstring ca ressemble en effet a ce qu'il te faut. Es-tu sur que ton mode shell utilise 'comint' ? Et qu'il execute bien les fonctions de cette variable au moment opportun ?
Par contre, je ne comprend pas vraiment la fonction. Elle accepte l'argument STRING, dont elle ne se sert pas. Alors que ce semble etre le but des filtres de cette variable. Que donne plutot :
Mais non. Pourtant, après avoir jeté un oeil à la fonction
comint-strip-ctrl-m, elle ne m'a pas l'air mal : il doit y avoir autre
chose.
Mh, d'apres un coup d'oeil rapide aux docstring ca ressemble en effet
a ce qu'il te faut. Es-tu sur que ton mode shell utilise 'comint' ?
Et qu'il execute bien les fonctions de cette variable au moment
opportun ?
Par contre, je ne comprend pas vraiment la fonction. Elle accepte
l'argument STRING, dont elle ne se sert pas. Alors que ce semble etre
le but des filtres de cette variable. Que donne plutot :
Mais non. Pourtant, après avoir jeté un oeil à la fonction comint-strip-ctrl-m, elle ne m'a pas l'air mal : il doit y avoir autre chose.
Mh, d'apres un coup d'oeil rapide aux docstring ca ressemble en effet a ce qu'il te faut. Es-tu sur que ton mode shell utilise 'comint' ? Et qu'il execute bien les fonctions de cette variable au moment opportun ?
Par contre, je ne comprend pas vraiment la fonction. Elle accepte l'argument STRING, dont elle ne se sert pas. Alors que ce semble etre le but des filtres de cette variable. Que donne plutot :
tout fonctionne parfaitement (pour l'instant au moins) : mes M-x grep n'ont plus de ^M, mon shell bash fonctionne correctement.
A noter que je n'ai plus besoin d'utiliser comint-strip-ctrl-m ou quoique ce soit d'autre... Je suppose que ça résout mon problème.
Merci pour votre aide.
Vincent.
bruno.boirel
(defun dos-to-unix () "Eliminate ^M (r) from end of line." (interactive) (save-excursion (goto-char (point-min)) (while (re-search-forward "r$" nil 1) (replace-match "" nil nil))))
utilisateur de (X)Emacs sous Win NT, je viens d'aller sur crasseux.com pour télécharger mais le débit est de 0.2kb, n'y aurait-il pas un miroir ou un horaire plus efficace ?
(defun dos-to-unix ()
"Eliminate ^M (r) from end of line."
(interactive)
(save-excursion
(goto-char (point-min))
(while (re-search-forward "r$" nil 1)
(replace-match "" nil nil))))
utilisateur de (X)Emacs sous Win NT, je viens d'aller sur crasseux.com
pour télécharger mais le débit est de 0.2kb, n'y aurait-il pas un
miroir ou un horaire plus efficace ?
(defun dos-to-unix () "Eliminate ^M (r) from end of line." (interactive) (save-excursion (goto-char (point-min)) (while (re-search-forward "r$" nil 1) (replace-match "" nil nil))))
utilisateur de (X)Emacs sous Win NT, je viens d'aller sur crasseux.com pour télécharger mais le débit est de 0.2kb, n'y aurait-il pas un miroir ou un horaire plus efficace ?
Leopold BAILLY
"drkm" writes:
Sébastien Kirche wrote:
Bon, puisque personne ne t'a répondu (peut-être que drkm aurait une idée, ile me semble qu'il est sous win
En effet (ce n'est d'ailleurs pas un choix personnel, malheureusement). Et j'utilise egalement Cygwin. Pour Emacs, j'utilise la version CVS compilee pour Win, sur crasseux.com. Normalement, il detecte pour chaque buffer s'il utilise <CR>, <LF> ou <CR><LF>. Par defaut, il utilise <CR><LF>.
Mais Emacs est dans Cygwin, pourquoi ne pas l'utiliser ?
J'utilise couramment Cygwin au bureau, en particulier le serveur X et Emacs. Tout ça marche parfaitement bien et est facilement mis à jour pa r le système de gestion de paquetage.
Bref, je ne vois que des avantages et pourtant j'ai l'impression que beauco up préfèrent NT-Emacs.
Un détail m'aurait-il échappé ?
-- Léo.
"drkm" <fgeorges.spam@gmail.com> writes:
Sébastien Kirche wrote:
Bon, puisque personne ne t'a répondu (peut-être que drkm aurait une
idée, ile me semble qu'il est sous win
En effet (ce n'est d'ailleurs pas un choix personnel,
malheureusement). Et j'utilise egalement Cygwin. Pour Emacs,
j'utilise la version CVS compilee pour Win, sur crasseux.com.
Normalement, il detecte pour chaque buffer s'il utilise <CR>, <LF> ou
<CR><LF>. Par defaut, il utilise <CR><LF>.
Mais Emacs est dans Cygwin, pourquoi ne pas l'utiliser ?
J'utilise couramment Cygwin au bureau, en particulier le serveur X et
Emacs. Tout ça marche parfaitement bien et est facilement mis à jour pa r le
système de gestion de paquetage.
Bref, je ne vois que des avantages et pourtant j'ai l'impression que beauco up
préfèrent NT-Emacs.
Bon, puisque personne ne t'a répondu (peut-être que drkm aurait une idée, ile me semble qu'il est sous win
En effet (ce n'est d'ailleurs pas un choix personnel, malheureusement). Et j'utilise egalement Cygwin. Pour Emacs, j'utilise la version CVS compilee pour Win, sur crasseux.com. Normalement, il detecte pour chaque buffer s'il utilise <CR>, <LF> ou <CR><LF>. Par defaut, il utilise <CR><LF>.
Mais Emacs est dans Cygwin, pourquoi ne pas l'utiliser ?
J'utilise couramment Cygwin au bureau, en particulier le serveur X et Emacs. Tout ça marche parfaitement bien et est facilement mis à jour pa r le système de gestion de paquetage.
Bref, je ne vois que des avantages et pourtant j'ai l'impression que beauco up préfèrent NT-Emacs.
Un détail m'aurait-il échappé ?
-- Léo.
drkm
Leopold BAILLY writes:
Mais Emacs est dans Cygwin, pourquoi ne pas l'utiliser ?
À la base, je pense que c'était pour avoir la version CVS. Je ne sais pas si elle est disponible sous Cygwin. Et comme je n'ai jamais eu à m'en plaindre ...
--drkm
Leopold BAILLY writes:
Mais Emacs est dans Cygwin, pourquoi ne pas l'utiliser ?
À la base, je pense que c'était pour avoir la version CVS. Je
ne sais pas si elle est disponible sous Cygwin. Et comme je n'ai
jamais eu à m'en plaindre ...
Mais Emacs est dans Cygwin, pourquoi ne pas l'utiliser ?
À la base, je pense que c'était pour avoir la version CVS. Je ne sais pas si elle est disponible sous Cygwin. Et comme je n'ai jamais eu à m'en plaindre ...