Certains se souviennent peut-être d'une discussion d'il y a
quelques mois, concernant MML. Ce package de Gnus permet
d'ajouter des parties dans un certain type à un message, juste en
utilisant 'C-c <RET> p' dans un buffer en Message Mode.
Cette partie du message, à la lecture, est alors font lockée en
fonction du type. Par exemple selon le mode Emacs Lisp pour les
partie de type "application/emacs-lisp", etc.
Ce qui apparaissait comme une fonctionalité intéressante s'est
révélé inutilisable, car Gnus génère alors un article en
multi-part, illisible par certains, en particulier Google Groups.
Je viens d'écrire un petit package utilisant la même idée, mais
ne générant pas de multi-part. Il laisse les balises telles
quelles à l'envoit, et les décode à la lecture.
Si l'on utilise le package à la lecture, on se retrouve alors
bien avec des parties de texte font lockées selon le type, sinon
on voit simplement les balises. C'est ÀMHA un bon compromis.
Voici par exemple des screenshots de Gnus montrant un tel
article font locké pour l'un, et raw pour l'autre :
C'est ce à quoi j'avais d'abord pensé, et ce qui est effectivement implémenté tant qu'à présent. Je te renvois à la discussion de juillet (celle que Sébastien a rouvert) pour les détails des arguments pour et contre.
C'est ce à quoi j'avais d'abord pensé, et ce qui est
effectivement implémenté tant qu'à présent. Je te renvois à la
discussion de juillet (celle que Sébastien a rouvert) pour les
détails des arguments pour et contre.
C'est ce à quoi j'avais d'abord pensé, et ce qui est effectivement implémenté tant qu'à présent. Je te renvois à la discussion de juillet (celle que Sébastien a rouvert) pour les détails des arguments pour et contre.
--drkm
Bastien
drkm writes:
<example language=="php"> ... </example>
C'est ce à quoi j'avais d'abord pensé, et ce qui est effectivement implémenté tant qu'à présent. Je te renvois à la discussion de juillet (celle que Sébastien a rouvert) pour les détails des arguments pour et contre.
Ok, tout lu, merci. Mon cerveau a aussi intercepté les remarques de Mathieu et le #v+/#v-.
-- Bastien
drkm writes:
<example language=="php">
...
</example>
C'est ce à quoi j'avais d'abord pensé, et ce qui est
effectivement implémenté tant qu'à présent. Je te renvois à la
discussion de juillet (celle que Sébastien a rouvert) pour les
détails des arguments pour et contre.
Ok, tout lu, merci. Mon cerveau a aussi intercepté les remarques de
Mathieu et le #v+/#v-.
C'est ce à quoi j'avais d'abord pensé, et ce qui est effectivement implémenté tant qu'à présent. Je te renvois à la discussion de juillet (celle que Sébastien a rouvert) pour les détails des arguments pour et contre.
Ok, tout lu, merci. Mon cerveau a aussi intercepté les remarques de Mathieu et le #v+/#v-.
-- Bastien
drkm
drkm writes:
ecrit par ... moi-meme. Il me reste encore trois jours pour tenir promesse :-)
J'ai écrit un petit quelque chose, vite fait-bien fait : <URL:http://www.fgeorges.org/tmp/drkm-mml.el>. Pour l'installer, le placer dans un répertoire du 'load-path', et :
Ça semble fonctionner avec le premier, mais pas le second. Je ne sais pas si c'est dû à la manière de nXML de gérer le font locking, ou à ma config de celui-ci.
Les parties à font locker sont simplement identifiées par une ligne blanche, une ou plusieurs lignes commençant par 4 espaces, et une ligne blanche. Par ligne blanche, j'entends ligne exactement vide (un 'n' en 1ère colonne).
N'hésitez pas à le tester, et à me communiquer vos avis. Notamment comment étendre la manière de repérer les blocs à font locker, ou comment identifier le mode à utiliser. Pour l'instant donc, le mode dépend directement et uniquement du groupe que l'on est en train de lire. Il y aurait moyen aussi d'écrire une fonction que l'on renseigne à la place d'un mode, et qui active le bon mode en fonction du contenu du bloc.
J'attend vos réactions,
--drkm
drkm writes:
ecrit par ... moi-meme. Il me reste encore trois jours pour tenir
promesse :-)
J'ai écrit un petit quelque chose, vite fait-bien fait :
<URL:http://www.fgeorges.org/tmp/drkm-mml.el>. Pour l'installer,
le placer dans un répertoire du 'load-path', et :
Ça semble fonctionner avec le premier, mais pas le second. Je
ne sais pas si c'est dû à la manière de nXML de gérer le font
locking, ou à ma config de celui-ci.
Les parties à font locker sont simplement identifiées par une
ligne blanche, une ou plusieurs lignes commençant par 4 espaces,
et une ligne blanche. Par ligne blanche, j'entends ligne
exactement vide (un 'n' en 1ère colonne).
N'hésitez pas à le tester, et à me communiquer vos avis.
Notamment comment étendre la manière de repérer les blocs à font
locker, ou comment identifier le mode à utiliser. Pour l'instant
donc, le mode dépend directement et uniquement du groupe que l'on
est en train de lire. Il y aurait moyen aussi d'écrire une
fonction que l'on renseigne à la place d'un mode, et qui active
le bon mode en fonction du contenu du bloc.
ecrit par ... moi-meme. Il me reste encore trois jours pour tenir promesse :-)
J'ai écrit un petit quelque chose, vite fait-bien fait : <URL:http://www.fgeorges.org/tmp/drkm-mml.el>. Pour l'installer, le placer dans un répertoire du 'load-path', et :
Ça semble fonctionner avec le premier, mais pas le second. Je ne sais pas si c'est dû à la manière de nXML de gérer le font locking, ou à ma config de celui-ci.
Les parties à font locker sont simplement identifiées par une ligne blanche, une ou plusieurs lignes commençant par 4 espaces, et une ligne blanche. Par ligne blanche, j'entends ligne exactement vide (un 'n' en 1ère colonne).
N'hésitez pas à le tester, et à me communiquer vos avis. Notamment comment étendre la manière de repérer les blocs à font locker, ou comment identifier le mode à utiliser. Pour l'instant donc, le mode dépend directement et uniquement du groupe que l'on est en train de lire. Il y aurait moyen aussi d'écrire une fonction que l'on renseigne à la place d'un mode, et qui active le bon mode en fonction du contenu du bloc.
J'attend vos réactions,
--drkm
Sébastien Kirche
Le 30 octobre 2005 à 19:10, drkm a dit :
N'hésitez pas à le tester, et à me communiquer vos avis.
Il ne sert a rien d'utiliser 'autoload' avec 'require' (le but d''autoload' est justement d'eviter un 'require', et de deferer le chargement a la premiere utilisation).
Argl. Je me suis fais enduire d'erreur par le commentaire en début de drkm-mml.el qui parle de générer l'autoload ou d'utiliser un require. J'ai mis le require car je n'ai pas encore installé cedet sur ce système.
Es-tu sur que 'drkm-mml.el' est dans ton 'load-path' ?
(locate-library "drkm-mml") -> /Users/seki/.elisp/drkm-mml.el C'est bien dans mon load-path, j'y ai d'autres modules qui s'y trouvent et qui fonctionnent comme filladapt.
Mais ça plantait avec l'autre version, puisque ça ne plante plus c'est bien que j'ai remplacé la lib.
Il ne doit y avoir d'effet egalement que sur des blocs de code precedes et suivis d'une ligne vide, et indente d'un moins 4 espaces, comme celui-ci :
(autoload 'drkm-mml:decode-parts "drkm-mml") ;; Je ne suis pas sur que l''eval-after-load' soit ;; necessaire pour un hook. (eval-after-load "gnus-art" '(add-hook 'gnus-part-display-hook 'drkm-mml:decode-parts))
Tu ne vois rien ? Les deux chaines de caracteres devraient etre dans une face differente, tout comme 'eval-after-load' dans la face des mots-clefs. Et le commentaire, evidemment.
Non, le code n'est pas fontifié. Et je n'ai pas d'autre idée pour le moment.
Ah si un truc bizarre : ,---- | drkm-mml:decode-parts is a Lisp function in `drkm-mml.e'. ^^^ Ici : bizarre ce nom de fichier, non ? j'ai vérifié qu'il n'existe pas sur mon disque.
| (drkm-mml:decode-parts) | | Decode the parts in the article, and font lock them. | [...] `----
C'est tout pour le moment, avec le changement d'heure il est trop tard pour que j'arrive encore à réfléchir...
-- Sébastien Kirche
Le 31 octobre 2005 à 02:10, drkm s'est exprimé ainsi :
Il ne sert a rien d'utiliser 'autoload' avec 'require' (le but
d''autoload' est justement d'eviter un 'require', et de deferer le
chargement a la premiere utilisation).
Argl. Je me suis fais enduire d'erreur par le commentaire en début de
drkm-mml.el qui parle de générer l'autoload ou d'utiliser un require.
J'ai mis le require car je n'ai pas encore installé cedet sur ce
système.
Es-tu sur que 'drkm-mml.el' est dans ton 'load-path' ?
(locate-library "drkm-mml") -> /Users/seki/.elisp/drkm-mml.el
C'est bien dans mon load-path, j'y ai d'autres modules qui s'y trouvent
et qui fonctionnent comme filladapt.
Mais ça plantait avec l'autre version, puisque ça ne plante plus c'est
bien que j'ai remplacé la lib.
Il ne doit y avoir d'effet egalement que sur des blocs de code
precedes et suivis d'une ligne vide, et indente d'un moins 4 espaces,
comme celui-ci :
(autoload 'drkm-mml:decode-parts "drkm-mml")
;; Je ne suis pas sur que l''eval-after-load' soit
;; necessaire pour un hook.
(eval-after-load "gnus-art"
'(add-hook 'gnus-part-display-hook 'drkm-mml:decode-parts))
Tu ne vois rien ? Les deux chaines de caracteres devraient etre dans
une face differente, tout comme 'eval-after-load' dans la face des
mots-clefs. Et le commentaire, evidemment.
Non, le code n'est pas fontifié. Et je n'ai pas d'autre idée pour le
moment.
Ah si un truc bizarre :
,----
| drkm-mml:decode-parts is a Lisp function in `drkm-mml.e'.
^^^
Ici : bizarre ce nom de fichier, non ? j'ai vérifié qu'il n'existe pas
sur mon disque.
| (drkm-mml:decode-parts)
|
| Decode the parts in the article, and font lock them.
| [...]
`----
C'est tout pour le moment, avec le changement d'heure il est trop tard
pour que j'arrive encore à réfléchir...
Il ne sert a rien d'utiliser 'autoload' avec 'require' (le but d''autoload' est justement d'eviter un 'require', et de deferer le chargement a la premiere utilisation).
Argl. Je me suis fais enduire d'erreur par le commentaire en début de drkm-mml.el qui parle de générer l'autoload ou d'utiliser un require. J'ai mis le require car je n'ai pas encore installé cedet sur ce système.
Es-tu sur que 'drkm-mml.el' est dans ton 'load-path' ?
(locate-library "drkm-mml") -> /Users/seki/.elisp/drkm-mml.el C'est bien dans mon load-path, j'y ai d'autres modules qui s'y trouvent et qui fonctionnent comme filladapt.
Mais ça plantait avec l'autre version, puisque ça ne plante plus c'est bien que j'ai remplacé la lib.
Il ne doit y avoir d'effet egalement que sur des blocs de code precedes et suivis d'une ligne vide, et indente d'un moins 4 espaces, comme celui-ci :
(autoload 'drkm-mml:decode-parts "drkm-mml") ;; Je ne suis pas sur que l''eval-after-load' soit ;; necessaire pour un hook. (eval-after-load "gnus-art" '(add-hook 'gnus-part-display-hook 'drkm-mml:decode-parts))
Tu ne vois rien ? Les deux chaines de caracteres devraient etre dans une face differente, tout comme 'eval-after-load' dans la face des mots-clefs. Et le commentaire, evidemment.
Non, le code n'est pas fontifié. Et je n'ai pas d'autre idée pour le moment.
Ah si un truc bizarre : ,---- | drkm-mml:decode-parts is a Lisp function in `drkm-mml.e'. ^^^ Ici : bizarre ce nom de fichier, non ? j'ai vérifié qu'il n'existe pas sur mon disque.
| (drkm-mml:decode-parts) | | Decode the parts in the article, and font lock them. | [...] `----
C'est tout pour le moment, avec le changement d'heure il est trop tard pour que j'arrive encore à réfléchir...
-- Sébastien Kirche
Romain Francoise
Sébastien Kirche writes:
,---- | drkm-mml:decode-parts is a Lisp function in `drkm-mml.e'. ^^^ Ici : bizarre ce nom de fichier, non ? j'ai vérifié qu'il n'existe pas sur mon disque.
C'est un bug dans Emacs (déjà corrigé), le fichier s'appelle drkm-mml.el.
-- Romain Francoise | The sea! the sea! the open it's a miracle -- http://orebokech.com/ | sea! The blue, the fresh, the | ever free! --Bryan W. Procter
Sébastien Kirche <sebastien.kirche.no@spam.free.fr.invalid> writes:
,----
| drkm-mml:decode-parts is a Lisp function in `drkm-mml.e'.
^^^
Ici : bizarre ce nom de fichier, non ? j'ai vérifié qu'il n'existe pas
sur mon disque.
C'est un bug dans Emacs (déjà corrigé), le fichier s'appelle drkm-mml.el.
--
Romain Francoise <romain@orebokech.com> | The sea! the sea! the open
it's a miracle -- http://orebokech.com/ | sea! The blue, the fresh, the
| ever free! --Bryan W. Procter
,---- | drkm-mml:decode-parts is a Lisp function in `drkm-mml.e'. ^^^ Ici : bizarre ce nom de fichier, non ? j'ai vérifié qu'il n'existe pas sur mon disque.
C'est un bug dans Emacs (déjà corrigé), le fichier s'appelle drkm-mml.el.
-- Romain Francoise | The sea! the sea! the open it's a miracle -- http://orebokech.com/ | sea! The blue, the fresh, the | ever free! --Bryan W. Procter
Sébastien Kirche
Le 31 octobre 2005 à 07:10, Romain Francoise vraute :
Sébastien Kirche writes:
> ,---- > > drkm-mml:decode-parts is a Lisp function in `drkm-mml.e'. > ^^^ Ici : bizarre ce nom de fichier, non ? j'ai vérifié qu'il > n'existe pas sur mon disque.
C'est un bug dans Emacs (déjà corrigé),
Fort bien. C'était juste au niveau de l'affichage du nom, ou ça touchait aussi le fonctionnement ?
le fichier s'appelle drkm-mml.el.
Oui, je l'ai copié moi-même.
-- Sébastien Kirche
Le 31 octobre 2005 à 07:10, Romain Francoise vraute :
Sébastien Kirche <sebastien.kirche.no@spam.free.fr.invalid> writes:
> ,----
> > drkm-mml:decode-parts is a Lisp function in `drkm-mml.e'.
> ^^^ Ici : bizarre ce nom de fichier, non ? j'ai vérifié qu'il
> n'existe pas sur mon disque.
C'est un bug dans Emacs (déjà corrigé),
Fort bien. C'était juste au niveau de l'affichage du nom, ou ça touchait
aussi le fonctionnement ?
Le 31 octobre 2005 à 07:10, Romain Francoise vraute :
Sébastien Kirche writes:
> ,---- > > drkm-mml:decode-parts is a Lisp function in `drkm-mml.e'. > ^^^ Ici : bizarre ce nom de fichier, non ? j'ai vérifié qu'il > n'existe pas sur mon disque.
C'est un bug dans Emacs (déjà corrigé),
Fort bien. C'était juste au niveau de l'affichage du nom, ou ça touchait aussi le fonctionnement ?
le fichier s'appelle drkm-mml.el.
Oui, je l'ai copié moi-même.
-- Sébastien Kirche
Romain Francoise
Sébastien Kirche writes:
Fort bien. C'était juste au niveau de l'affichage du nom, ou ça touchait aussi le fonctionnement ?
Juste l'affichage.
-- Romain Francoise | The sea! the sea! the open it's a miracle -- http://orebokech.com/ | sea! The blue, the fresh, the | ever free! --Bryan W. Procter
Sébastien Kirche <sebastien.kirche.no@spam.free.fr.invalid> writes:
Fort bien. C'était juste au niveau de l'affichage du nom, ou ça
touchait aussi le fonctionnement ?
Juste l'affichage.
--
Romain Francoise <romain@orebokech.com> | The sea! the sea! the open
it's a miracle -- http://orebokech.com/ | sea! The blue, the fresh, the
| ever free! --Bryan W. Procter
Fort bien. C'était juste au niveau de l'affichage du nom, ou ça touchait aussi le fonctionnement ?
Juste l'affichage.
-- Romain Francoise | The sea! the sea! the open it's a miracle -- http://orebokech.com/ | sea! The blue, the fresh, the | ever free! --Bryan W. Procter