Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Commentaire d'encodage ajouté automatiquement

4 views
Skip to first unread message

er...@rail.eu.org

unread,
May 11, 2012, 7:52:41 AM5/11/12
to

Bonjour,

quand je sauve un fichier ruby emacs ajoute automatiquement un
"# -*- coding: utf-8 -*-" en 2ème ligne.

Ce qui casse certaines fonctions ruby (RDoc::usage par exemple). Et en
plus c'est inutile je suis par défauit en utf-8.

Je ne vois pas d'où ça vient, ruby-mode-hook vaut
((lambda nil
(outline-minor-mode)
(setq outline-regexp " *\\(def \\|class\\|module\\)"))
ac-ruby-mode-setup
(lambda nil
(inf-ruby-keys)))


SI quelqu'un a une idée de comment désactiver ça je suis preneur.


--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé

Alain Ketterlin

unread,
May 11, 2012, 8:16:47 AM5/11/12
to
er...@rail.eu.org writes:

> Bonjour,
>
> quand je sauve un fichier ruby emacs ajoute automatiquement un
> "# -*- coding: utf-8 -*-" en 2ème ligne.
>
> Ce qui casse certaines fonctions ruby (RDoc::usage par exemple). Et en
> plus c'est inutile je suis par défauit en utf-8.

Note qu'il se peut très bien que le commentaire s'adresse à ruby autant
qu'à emacs.

[...]
> SI quelqu'un a une idée de comment désactiver ça je suis preneur.

Peut-être en changeant la valeur de ruby-insert-encoding-magic-comment
puisque tu n'es pas sensible à la magie :-)

-- Alain.

er...@rail.eu.org

unread,
May 11, 2012, 10:47:46 AM5/11/12
to
Alain Ketterlin <al...@dpt-info.u-strasbg.fr> écrivait :

> er...@rail.eu.org writes:
>
>> Bonjour,
>>
>> quand je sauve un fichier ruby emacs ajoute automatiquement un
>> "# -*- coding: utf-8 -*-" en 2ème ligne.
>>
>> Ce qui casse certaines fonctions ruby (RDoc::usage par exemple). Et en
>> plus c'est inutile je suis par défauit en utf-8.
>
> Note qu'il se peut très bien que le commentaire s'adresse à ruby autant
> qu'à emacs.
>
> [...]

Ben c'est emacs qui ajoute ce commentaire...
Et rdoc base sa doc sur les commentaires, ce qui est assez classique


>> SI quelqu'un a une idée de comment désactiver ça je suis preneur.
>
> Peut-être en changeant la valeur de ruby-insert-encoding-magic-comment
> puisque tu n'es pas sensible à la magie :-)

Variable inconnue, hélas...

Pascal J. Bourguignon

unread,
May 11, 2012, 11:18:43 AM5/11/12
to
er...@rail.eu.org writes:

> Bonjour,
>
> quand je sauve un fichier ruby emacs ajoute automatiquement un
> "# -*- coding: utf-8 -*-" en 2ème ligne.
>
> Ce qui casse certaines fonctions ruby (RDoc::usage par exemple). Et en
> plus c'est inutile je suis par défauit en utf-8.
>
> Je ne vois pas d'où ça vient, ruby-mode-hook vaut
> ((lambda nil
> (outline-minor-mode)
> (setq outline-regexp " *\\(def \\|class\\|module\\)"))
> ac-ruby-mode-setup
> (lambda nil
> (inf-ruby-keys)))
>
>
> SI quelqu'un a une idée de comment désactiver ça je suis preneur.

Ce n'est pas une bonne idée d'enlever -*- coding:utf-8 -*-: même si ta
configuration par défaut est utf-8, il vaut mieux le laisser pour ceux
chez qui la configuration par défaut n'est pas utf-8!

Si il y a une bogue dans RDoc::usage, il faut corriger RDoc::usage;
c'est du logiciel libre, profites donc de ta liberté de corriger
RDoc::usage!

--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.

Damien Wyart

unread,
May 11, 2012, 11:27:39 AM5/11/12
to
> > > SI quelqu'un a une idée de comment désactiver ça je suis preneur.

> > Peut-être en changeant la valeur de
> > ruby-insert-encoding-magic-comment puisque tu n'es pas sensible à la
> > magie :-)

* er...@rail.eu.org in fr.comp.applications.emacs:
> Variable inconnue, hélas...

Tu dois avoir un ruby-mode.el un peu ancien, qui insère la fameuse ligne
de façon systématique. Si tu mets à jour tes fichiers Elisp de support
Ruby, tu devrais pouvoir utiliser la variable indiquée par Alain.

--
DW

Damien Wyart

unread,
May 11, 2012, 11:44:18 AM5/11/12
to
Désolé, erreur de ma part ; après vérification dans les gestionnaires de
version des projets Ruby et Emacs, le ruby-mode.el inclus dans la
distribution de Ruby n'a jamais utilisé cette variable. Tu dois sans
doute utiliser cette version.

Le fichier a le même nom (d'où la confusion) dans Emacs (sous
lisp/progmodes) mais définit bien cette variable, et ce dès son
apparition fin 2008 (première diffusion packagée en version 23).

--
DW

Erwan David

unread,
May 11, 2012, 12:18:20 PM5/11/12
to
"Pascal J. Bourguignon" <p...@informatimago.com> écrivait :

> er...@rail.eu.org writes:
>
>> Bonjour,
>>
>> quand je sauve un fichier ruby emacs ajoute automatiquement un
>> "# -*- coding: utf-8 -*-" en 2ème ligne.
>>
>> Ce qui casse certaines fonctions ruby (RDoc::usage par exemple). Et en
>> plus c'est inutile je suis par défauit en utf-8.
>>
>> Je ne vois pas d'où ça vient, ruby-mode-hook vaut
>> ((lambda nil
>> (outline-minor-mode)
>> (setq outline-regexp " *\\(def \\|class\\|module\\)"))
>> ac-ruby-mode-setup
>> (lambda nil
>> (inf-ruby-keys)))
>>
>>
>> SI quelqu'un a une idée de comment désactiver ça je suis preneur.
>
> Ce n'est pas une bonne idée d'enlever -*- coding:utf-8 -*-: même si ta
> configuration par défaut est utf-8, il vaut mieux le laisser pour ceux
> chez qui la configuration par défaut n'est pas utf-8!
>
> Si il y a une bogue dans RDoc::usage, il faut corriger RDoc::usage;
> c'est du logiciel libre, profites donc de ta liberté de corriger
> RDoc::usage!

C'est un bogue dans *emacs* qui ajoute ce que moi l'auteur je ne *veux*
pas. Par ailleurs les variables de buffer peuvent aussi se mettre à la
fin où elles ne dérangent pas.

emacs bousille mon texte. Le bug est dans emacs. Pas dans rdoc.

Erwan David

unread,
May 11, 2012, 12:18:53 PM5/11/12
to
Damien Wyart <damien...@free.fr> écrivait :
J'ai ceux de la debian testing. Je vais voir à mettre à jour.

Erwan David

unread,
May 11, 2012, 12:19:48 PM5/11/12
to
Damien Wyart <damien...@free.fr> écrivait :
Ok, je vais regarder ce qui est fourni par les différents paquets.

Paul Gaborit

unread,
May 11, 2012, 8:53:07 PM5/11/12
to

À (at) Fri, 11 May 2012 18:18:20 +0200,
Erwan David <er...@rail.eu.org> écrivait (wrote):
Je ne pense pas que le mode ruby ou emacs ajoute cette ligne tout
seul. Il doit y avoir quelque chose de plus dans votre configuration
pour qu'elle soit ajoutée automatiquement. Peut-être via les appels à
'ac-ruby-mode-setup' ou à 'inf-ruby-keys' (à quoi ça sert ?).

Concernant le codage des scripts Ruby, voici une bonne lecture :
<http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings>
L'usage du « magic comment » semble une bonne pratique (en tous cas avec
Ruby 1.9 et suivant).

Par ailleurs, il me semble bien que RDoc::usage n'existe plus dans les
dernières versions de Ruby. Cela posait de trop nombreux problèmes...

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>

Damien Wyart

unread,
May 12, 2012, 6:01:10 AM5/12/12
to
* Paul Gaborit <Paul.G...@invalid.invalid> in fr.comp.applications.emacs:
> Je ne pense pas que le mode ruby ou emacs ajoute cette ligne tout
> seul. Il doit y avoir quelque chose de plus dans votre configuration
> pour qu'elle soit ajoutée automatiquement. Peut-être via les appels
> à 'ac-ruby-mode-setup' ou à 'inf-ruby-keys' (à quoi ça sert ?).

Le mode fourni avec Ruby ajoute la ligne de façon systématique (ça n'est
pas conifgurable). Le mode fourni avec Emacs a une variable de
configuration qui permet de désactiver cet ajout.

--
DW

Erwan David

unread,
May 12, 2012, 6:56:48 AM5/12/12
to
Paul Gaborit <Paul.G...@invalid.invalid> écrivait :

>
> Je ne pense pas que le mode ruby ou emacs ajoute cette ligne tout
> seul. Il doit y avoir quelque chose de plus dans votre configuration
> pour qu'elle soit ajoutée automatiquement. Peut-être via les appels à
> 'ac-ruby-mode-setup' ou à 'inf-ruby-keys' (à quoi ça sert ?).

ac -> autocomplete, très utile.
inf-ruby-keys je ne sais pas exactement, je vais vérifier

> Concernant le codage des scripts Ruby, voici une bonne lecture :
> <http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings>
> L'usage du « magic comment » semble une bonne pratique (en tous cas avec
> Ruby 1.9 et suivant).

Mes scripts doivent tourner sur une redhat 6, uniquement avec des
paquets système. Donc ruby 1.8.7 (et crois mois, je le regrette bien, ne
serait-ce que pour la gestion des jeux de caractères dans les chaines).

> Par ailleurs, il me semble bien que RDoc::usage n'existe plus dans les
> dernières versions de Ruby. Cela posait de trop nombreux problèmes...

Quel genre de problème ? Ça a l'énorme avantage d'utiliser les
commentaires du script pour afficher l'usage, permettant de ne garder
qu'une version...

Paul Gaborit

unread,
May 12, 2012, 8:37:44 AM5/12/12
to

À (at) Sat, 12 May 2012 12:56:48 +0200,
Erwan David <er...@rail.eu.org> écrivait (wrote):

> Paul Gaborit <Paul.G...@invalid.invalid> écrivait :
>
>> Je ne pense pas que le mode ruby ou emacs ajoute cette ligne tout
>> seul. Il doit y avoir quelque chose de plus dans votre configuration
>> pour qu'elle soit ajoutée automatiquement. Peut-être via les appels à
>> 'ac-ruby-mode-setup' ou à 'inf-ruby-keys' (à quoi ça sert ?).
>
> ac -> autocomplete, très utile.
> inf-ruby-keys je ne sais pas exactement, je vais vérifier

Damien a indiqué la raison : Ruby installe son propre mode pour emacs et
si on l'utilise, il systématise l'ajout de la ligne d'encodage.

>> Concernant le codage des scripts Ruby, voici une bonne lecture :
>> <http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings>
>> L'usage du « magic comment » semble une bonne pratique (en tous cas avec
>> Ruby 1.9 et suivant).
>
> Mes scripts doivent tourner sur une redhat 6, uniquement avec des
> paquets système. Donc ruby 1.8.7 (et crois mois, je le regrette bien, ne
> serait-ce que pour la gestion des jeux de caractères dans les chaines).

Disons que l'ajout de cette ligne ne devrait pas perturber Ruby (< 1.9)
et indique clairement l'encodage au lecteur.

(réponse plus polémique : puisque c'est pour une vieille version de
Ruby, peut-être faudrait-il utiliser le mode ruby correspondant à cette
époque... ;-))

>> Par ailleurs, il me semble bien que RDoc::usage n'existe plus dans les
>> dernières versions de Ruby. Cela posait de trop nombreux problèmes...
>
> Quel genre de problème ?

Un exemple dans le dernier commentaire de ce post :
<http://apidock.com/ruby/RDoc/usage/class>

> Ça a l'énorme avantage d'utiliser les commentaires du script pour
> afficher l'usage, permettant de ne garder qu'une version...

L'objectif est tout à fait louable... c'est la manière de l'atteindre
qui est inadaptée.
0 new messages